diff --git a/rute.cpp b/rute.cpp
index e88a741a545886c5e963d108ef312805d03c62c8..b8ac986ff170dd46ad70f9f3c19c3cddb51ff11e 100644
--- a/rute.cpp
+++ b/rute.cpp
@@ -405,34 +405,37 @@ void Rute::fjernStopp() {
                 cout << "\n\nMellom slutt\n"
                 << "Stoppested (entydig navn / tall / ENTER for å avslutte): ";
                 getline(cin, navn2);
+                lNavn = ""; //hopper ut av while
             }
         }
-    if(p1 > p2){
+    if(p1 > p2 && p2!=nullptr){
         auto temp = itS; itS = itL; itL= temp;  //bytter om iteratoren
         tempI = sIndeks; sIndeks = lIndeks; lIndeks = tempI; //bytter indeks
         tempN = sNavn; sNavn=lNavn; lNavn = tempN; //bytter navn
         tempS = sStoppNr; sStoppNr = lStoppNr; lStoppNr = tempS; //bytter stoppnr
     }
-        advance (itS, sStoppNr+1); //setter iterator start til en forbi stoppet
-        advance (itL, lStoppNr); //fordi advance tar med selv stoppet det starter på, så må en forbi
-        stoppene.erase(itS, itL); //fjerner alt mellom bruker start og slutt.
-        sp1 = gStoppestederBase.finnDuplikat(sNavn); //setter peker til vektoren på start navn
-        sp2 = gStoppestederBase.finnDuplikat(lNavn); //setter peker til vektoren på slutt navn 
-        if(sp2->finnesNabo(sIndeks+1)){ //hvis de er naboer
-            tid = sp2->hentNaboTid(sIndeks);   //hent tiden
-            p2->minutter=tid;   //oppdater tiden i structen
-            cout << "Tiden mellom stoppestedene er allerede registrert som "
-             << tid << "minutter.";
+        if(lNavn.size() > 0){
+            advance (itS, sStoppNr+1); //setter iterator start til en forbi stoppet
+            advance (itL, lStoppNr); //fordi advance tar med selv stoppet det starter på, så må en forbi
+            stoppene.erase(itS, itL); //fjerner alt mellom bruker start og slutt.
+            sp1 = gStoppestederBase.finnDuplikat(sNavn); //setter peker til vektoren på start navn
+            sp2 = gStoppestederBase.finnDuplikat(lNavn); //setter peker til vektoren på slutt navn 
+            if(sp2->finnesNabo(sIndeks+1)){ //hvis de er naboer
+                tid = sp2->hentNaboTid(sIndeks);   //hent tiden
+                p2->minutter=tid;   //oppdater tiden i structen
+                cout << "Tiden mellom stoppestedene er allerede registrert som "
+                << tid << "minutter.";
         }else{ //hvis de ikke er naboer
-            tid=lesInt("Tid til fra forrige stopp", 1, 10); //leser inn tid mellom stopp
-            p2->minutter=tid;   //oppdaterer tiden i struct
-            sp1->settNaboIndeks(lIndeks); //start stopp er nabo med slutt stopp
-            sp1->settNaboTid(tid);  //oppdaterer tiden
-            sp2->settNaboIndeks(sIndeks); //slutt stopp er nabo med start stopp
-            sp2->settNaboTid(tid);  //oppdaterer tiden
-        }
-            skrivKort();
-            skrivRute(Fram); //skriver ut oppdatert rute.
+                tid=lesInt("Tid til fra forrige stopp", 1, 10); //leser inn tid mellom stopp
+                p2->minutter=tid;   //oppdaterer tiden i struct
+                sp1->settNaboIndeks(lIndeks); //start stopp er nabo med slutt stopp
+                sp1->settNaboTid(tid);  //oppdaterer tiden
+                sp2->settNaboIndeks(sIndeks); //slutt stopp er nabo med start stopp
+                sp2->settNaboTid(tid);  //oppdaterer tiden
+            }
+                skrivKort();
+                skrivRute(Fram); //skriver ut oppdatert rute.
+                }
             } 
         }
     }