diff --git a/rute.cpp b/rute.cpp
index ab09e8a3e72acac23dfa001be397b2ff4febf26a..4c8c2e087d570e264b28d85bd190e051de8bed64 100644
--- a/rute.cpp
+++ b/rute.cpp
@@ -185,7 +185,14 @@ void Rute::ruteTabell(const int diff, const string start, const string stSted) {
         sluttM, // slutt-minutter
         tidMellom, // Tid mellom hver avgang i minutter
         tPrint, // hjelpevariabel for å sørge for korrekt utskrift av time
+        antGanger,
+        startTid,
+        n,
+        timer,
+        minutter,
+        avgangsTid,
         mPrint; // hjelpevariabel for å sørge for korrekt utskrift av minutter
+    vector <int> avgangstider;
 
     cout << "\nRuteavganger fra startstedet (" << start << ") - "
          << "avslutt med 0 0):\n\n";
@@ -198,9 +205,12 @@ void Rute::ruteTabell(const int diff, const string start, const string stSted) {
         cout << "\nUlovlig klokkeslett. Prøv igjen (tt mm): ";
         cin >> startT >> startM; cin.ignore();
     }
+    startTid = (startT*60)+startM; // Regner ut første avgangstid
+    n = startT; // Setter indikator til å være første starttime
 
 
     while (startT != 0 || startM != 0) { // Så lenge bruker ikke taster 0 0
+        avgangstider.push_back(startTid+diff); // Legger start tid i vector
         // Leser tid mellom avganger
         tidMellom = lesInt("Tid mellom avganger", MINTID, MAXTID);
         startTotal = (startT*60)+startM+tidMellom; // Omregner for sjekk
@@ -220,7 +230,15 @@ void Rute::ruteTabell(const int diff, const string start, const string stSted) {
             sluttTotal = (sluttT*60)+sluttM; // Omregner for sjekk
         }
 
-        tPrint = (sluttTotal+1)/60; // Regner ut gyldig utskrift
+        antGanger = ((sluttT-startT)*60)/tidMellom; // Omregning for loop
+        avgangsTid = startTid+diff; // Setter på differanse en gang
+
+        for (int i = 0; i < antGanger; i++) { // Legger til riktig antall avgangstider:
+            avgangsTid = avgangsTid + tidMellom;
+            avgangstider.push_back(avgangsTid);
+        }
+
+        tPrint = (sluttTotal+1)/60; // Regner ut gyldig utskrift:
         mPrint = (sluttTotal+1)%60;
 
 
@@ -236,8 +254,22 @@ void Rute::ruteTabell(const int diff, const string start, const string stSted) {
             cin >> startT >> startM; cin.ignore();
             startTotal = (startT*60)+startM;
         }
-
-
+        startTid = (startT*60)+startM;
+    }
+    cout << "\n\nRutetabell for stoppested: " << stSted << "\n\n"
+         << ((n < 10) ? "0" : "") << n << ':';
+
+    for (int i = 0; i < avgangstider.size(); i++) {
+        timer = avgangstider[i]/60;
+        minutter = avgangstider[i]%60;
+        if (timer == n) {
+            cout << ' ' << ((minutter < 10) ? "0" : "") << minutter;
+        } else {
+            cout << '\n' << ((timer < 10) ? "0" : "")
+                 << timer << ':' << ' ' << ((minutter < 10) ? "0" : "")
+                 << minutter;
+            n = timer;
+        }
     }
 }