Index: locale/en/mlx.po
===================================================================
--- locale/en/mlx.po	(revision 1033)
+++ locale/en/mlx.po	(revision 1034)
@@ -1300,10 +1300,4 @@
 msgid "finish_fuel"
 msgstr "Fuel used:"
-
-msgid "finish_type"
-msgstr "_Type:"
-
-msgid "finish_type_tooltip"
-msgstr "Select the type of the flight."
 
 msgid "finish_online"
Index: locale/hu/mlx.po
===================================================================
--- locale/hu/mlx.po	(revision 1033)
+++ locale/hu/mlx.po	(revision 1034)
@@ -1301,10 +1301,4 @@
 msgid "finish_fuel"
 msgstr "Elhasznált üzemanyag:"
-
-msgid "finish_type"
-msgstr "_Típus:"
-
-msgid "finish_type_tooltip"
-msgstr "Válaszd ki a repülés típusát."
 
 msgid "finish_online"
Index: src/mlx/const.py
===================================================================
--- src/mlx/const.py	(revision 1033)
+++ src/mlx/const.py	(revision 1034)
@@ -300,26 +300,26 @@
 FLIGHTTYPE_SCHEDULED = 0
 
-## Flight type: old-timer
-FLIGHTTYPE_OLDTIMER = 1
-
 ## Flight type: VIP
-FLIGHTTYPE_VIP = 2
+FLIGHTTYPE_VIP = 1
 
 ## Flight type: charter
-FLIGHTTYPE_CHARTER = 3
+FLIGHTTYPE_CHARTER = 2
+
+## Flight type: old timer (not used anymore)
+FLIGHTTYPE_OLDTIMER = -1
 
 #-------------------------------------------------------------------------------
 
 flightTypes = [ FLIGHTTYPE_SCHEDULED,
-                FLIGHTTYPE_OLDTIMER,
                 FLIGHTTYPE_VIP,
-                FLIGHTTYPE_CHARTER ]
+                FLIGHTTYPE_CHARTER,
+                FLIGHTTYPE_OLDTIMER ]
 
 #-------------------------------------------------------------------------------
 
 _flightTypeStrings = { FLIGHTTYPE_SCHEDULED : "scheduled",
-                       FLIGHTTYPE_OLDTIMER : "ot",
                        FLIGHTTYPE_VIP : "vip",
-                       FLIGHTTYPE_CHARTER : "charter" }
+                       FLIGHTTYPE_CHARTER : "charter",
+                       FLIGHTTYPE_OLDTIMER : "ot" }
 
 def flightType2string(flightType):
Index: src/mlx/flight.py
===================================================================
--- src/mlx/flight.py	(revision 1033)
+++ src/mlx/flight.py	(revision 1034)
@@ -54,5 +54,6 @@
 
     @staticmethod
-    def isTimeDifferenceTooMuch(scheduledTime, realTimestamp):
+    def isTimeDifferenceTooMuch(scheduledTime, realTimestamp,
+                                earlyOnlyWarning = False):
         """Determine if the given real time differs to much from the scheduled
         time.
@@ -71,5 +72,5 @@
 
         return (diff>Flight.TIME_WARNING_DIFFERENCE,
-                diff>Flight.TIME_ERROR_DIFFERENCE)
+                False if earlyOnlyWarning else diff>Flight.TIME_ERROR_DIFFERENCE)
 
     def __init__(self, logger, gui):
@@ -385,5 +386,6 @@
           but an error as well."""
         return self.isTimeDifferenceTooMuch(self.bookedFlight.arrivalTime,
-                                            self.blockTimeEnd)
+                                            self.blockTimeEnd,
+                                            earlyOnlyWarning = True)
 
     def disconnected(self):
Index: src/mlx/gui/flight.py
===================================================================
--- src/mlx/gui/flight.py	(revision 1033)
+++ src/mlx/gui/flight.py	(revision 1034)
@@ -2329,5 +2329,5 @@
         self._bagWeight.set_sensitive(True)
 
-        if bookedFlight.flightType==BookedFlight.FLIGHT_TYPE_CHARTER:
+        if bookedFlight.flightType==const.FLIGHTTYPE_CHARTER:
             self._cargoWeight.set_int(0)
             self._cargoWeight.set_sensitive(False)
@@ -2365,5 +2365,5 @@
         zfw += self._numPassengers.get_int() * \
             (const.WEIGHT_PASSENGER_CHARTER
-             if bookedFlight.flightType==BookedFlight.FLIGHT_TYPE_CHARTER
+             if bookedFlight.flightType==const.FLIGHTTYPE_CHARTER
              else const.WEIGHT_PASSENGER)
         zfw += self._numChildren.get_int() * const.WEIGHT_CHILD
@@ -5107,15 +5107,4 @@
         table.attach(labelAlignment, 0, 1, row, row+1)
 
-        self._flightType = createFlightTypeComboBox()
-        self._flightType.set_tooltip_text(xstr("finish_type_tooltip"))
-        self._flightType.set_active(0)
-        self._flightType.connect("changed", self._flightTypeChanged)
-        flightTypeAlignment = Gtk.Alignment(xalign=0.0, xscale=0.0)
-        flightTypeAlignment.add(self._flightType)
-        table.attach(flightTypeAlignment, 1, 2, row, row+1)
-        label.set_mnemonic_widget(self._flightType)
-
-        row += 1
-
         self._onlineFlight = Gtk.CheckButton(xstr("finish_online"))
         self._onlineFlight.set_use_underline(True)
@@ -5178,10 +5167,4 @@
 
     @property
-    def flightType(self):
-        """Get the flight type."""
-        index = self._flightType.get_active()
-        return None if index<0 else self._flightType.get_model()[index][1]
-
-    @property
     def online(self):
         """Get whether the flight was an online flight or not."""
@@ -5215,5 +5198,4 @@
                                   (flight.startFuel - flight.endFuel,))
 
-        self._flightType.set_active(-1)
         self._onlineFlight.set_active(self._wizard.loggedIn)
 
@@ -5240,10 +5222,8 @@
         gui = self._wizard.gui
         faultsExplained = gui.faultsFullyExplained
-        timesCorrect = self.flightType is None or \
-                       not self._tooBigTimeDifference or \
+        timesCorrect = not self._tooBigTimeDifference or \
                        gui.hasComments or gui.hasDelayCode
         sensitive = gui.flight is not None and \
                     gui.flight.stage==const.STAGE_END and \
-                    self._flightType.get_active()>=0 and \
                     (self._gatesModel.get_iter_first() is None or
                      self._gate.get_active()>=0) and \
@@ -5281,8 +5261,4 @@
         """Called when the Back button is pressed."""
         self.goBack()
-
-    def _flightTypeChanged(self, comboBox):
-        """Called when the flight type has changed."""
-        self._updateTimes()
 
     def _gateChanged(self, comboBox):
@@ -5374,8 +5350,8 @@
         (arrivalWarning, arrivalError) = flight.blockTimeEndWrong
 
-        if self.flightType==const.FLIGHTTYPE_VIP:
+        if bookedFlight.flightType==const.FLIGHTTYPE_VIP:
             departureError = arrivalError = False
 
-        self._tooBigTimeDifference = departureError or arrivalError
+        self._tooBigTimeDifference = departureError and arrivalError
 
         self._depTime.set_markup(self._formatTime(bookedFlight.departureTime,
Index: src/mlx/gui/pirep.py
===================================================================
--- src/mlx/gui/pirep.py	(revision 1033)
+++ src/mlx/gui/pirep.py	(revision 1034)
@@ -387,5 +387,5 @@
         self._flownMailWeight.set_text("%.0f" % (pirep.mailWeight,))
         self._flightType.set_text(xstr("flighttype_" +
-                                       flightType2string(pirep.flightType)))
+                                       flightType2string(pirep.bookedFlight.flightType)))
         self._online.set_text(xstr("pirepView_" +
                                    ("yes" if pirep.online else "no")))
@@ -956,5 +956,6 @@
         self._flownCargoWeight.set_value(pirep.cargoWeight)
         self._flownMailWeight.set_value(pirep.mailWeight)
-        self._flightType.set_active(flightType2index(pirep.flightType))
+        self._flightType.set_text(xstr("flighttype_" +
+                                       flightType2string(pirep.bookedFlight.flightType)))
         self._online.set_active(pirep.online)
 
@@ -1444,10 +1445,8 @@
         self._flownMailWeight.set_tooltip_text(xstr("payload_mail_tooltip"))
 
-        self._flightType = createFlightTypeComboBox()
+        self._flightType = PIREPViewer.getDataLabel(width = 3)
         PIREPEditor.tableAttachWidget(table, 0, 2,
                                       xstr("pirepView_flightType"),
                                       self._flightType)
-        self._flightType.connect("changed", self._updateButtons)
-        self._flightType.set_tooltip_text(xstr("pirepEdit_flight_type_tooltip"))
 
         self._online = Gtk.CheckButton(xstr("pirepEdit_online"))
@@ -1608,5 +1607,4 @@
         pirep.mailWeight = self._flownMailWeight.get_value()
 
-        pirep.flightType = flightTypes[self._flightType.get_active()]
         pirep.online = self._online.get_active()
 
Index: src/mlx/gui/weighthelp.py
===================================================================
--- src/mlx/gui/weighthelp.py	(revision 1033)
+++ src/mlx/gui/weighthelp.py	(revision 1034)
@@ -4,5 +4,4 @@
 from mlx.i18n import xstr
 from mlx.checks import PayloadChecker
-from mlx.rpc import BookedFlight
 
 import mlx.const as const
@@ -441,5 +440,5 @@
             return self._pax * \
                 (const.WEIGHT_PASSENGER_CHARTER
-                 if self._flightType==BookedFlight.FLIGHT_TYPE_CHARTER
+                 if self._flightType==const.FLIGHTTYPE_CHARTER
                  else const.WEIGHT_PASSENGER) + \
                 self._children * const.WEIGHT_CHILD + \
Index: src/mlx/pirep.py
===================================================================
--- src/mlx/pirep.py	(revision 1033)
+++ src/mlx/pirep.py	(revision 1034)
@@ -42,7 +42,7 @@
 
     _flightTypes = { const.FLIGHTTYPE_SCHEDULED : "SCHEDULED",
-                     const.FLIGHTTYPE_OLDTIMER : "OT",
                      const.FLIGHTTYPE_VIP : "VIP",
-                     const.FLIGHTTYPE_CHARTER : "CHARTER" }
+                     const.FLIGHTTYPE_CHARTER : "CHARTER",
+                     const.FLIGHTTYPE_OLDTIMER : "OT" }
 
     @staticmethod
@@ -167,5 +167,4 @@
         self.arrivalRunway = flight.arrivalRunway.upper()
 
-        self.flightType = flight.flightType
         self.online = flight.online
 
@@ -237,5 +236,4 @@
         self.arrivalRunway = pirepData["arrivalRunway"]
 
-        self.flightType = PIREP.decodeFlightTypeText(pirepData["flightType"])
         self.online = int(pirepData["online"])!=0
 
@@ -300,5 +298,5 @@
     def flightTypeText(self):
         """Get the text representation of the flight type."""
-        return PIREP._flightTypes[self.flightType]
+        return PIREP._flightTypes[self.bookedFlight.flightType]
 
     @property
@@ -399,5 +397,4 @@
         attrs["bagWeight"] = self.bagWeight
         attrs["mailWeight"] = self.mailWeight
-        attrs["flightType"] = self.flightTypeText
         attrs["online"] = 1 if self.online else 0
         attrs["blockTimeStart"] = self.blockTimeStartText
Index: src/mlx/rpc.py
===================================================================
--- src/mlx/rpc.py	(revision 1033)
+++ src/mlx/rpc.py	(revision 1034)
@@ -257,4 +257,17 @@
             raise Exception("Invalid flight status code: '" + status + "'")
 
+    @staticmethod
+    def _convertFlightType(ft):
+        """Convert the in-database flight-type to one of our constants."""
+        ft = int(ft)
+        if ft==0:
+            return const.FLIGHTTYPE_SCHEDULED
+        elif ft==1:
+            return const.FLIGHTTYPE_VIP
+        elif ft==2:
+            return const.FLIGHTTYPE_CHARTER
+        else:
+            return const.FLIGHTTYPE_SCHEDULED
+
     # FIXME: copied from web.BookedFlight
     @staticmethod
@@ -275,13 +288,4 @@
     # FIXME: copied from web.BookedFlight
     STATUS_REJECTED = 4
-
-    # Flight type: scheduled
-    FLIGHT_TYPE_SCHEDULED = 0
-
-    # Flight type: VIP
-    FLIGHT_TYPE_VIP = 1
-
-    # Flight type: charter
-    FLIGHT_TYPE_CHARTER = 2
 
     # The instructions for the construction
@@ -296,5 +300,5 @@
         "cargoWeight" : int,
         "mailWeight" : int,
-        "flightType" : int,
+        "flightType" : lambda value: BookedFlight._convertFlightType(value),
         "dow": int,
         "maxPassengers": int,
Index: src/mlx/web.py
===================================================================
--- src/mlx/web.py	(revision 1033)
+++ src/mlx/web.py	(revision 1034)
@@ -147,4 +147,17 @@
         return flight
 
+    @staticmethod
+    def _convertFlightType(ft):
+        """Convert the in-database flight-type to one of our constants."""
+        ft = int(ft)
+        if ft==0:
+            return const.FLIGHTTYPE_SCHEDULED
+        elif ft==1:
+            return const.FLIGHTTYPE_VIP
+        elif ft==2:
+            return const.FLIGHTTYPE_CHARTER
+        else:
+            return const.FLIGHTTYPE_SCHEDULED
+
     def __init__(self, id = None):
         """Construct a booked flight with the given ID."""
@@ -295,4 +308,5 @@
         self.mailWeight = int(bookedFlightData["mailWeight"])
         self.route = bookedFlightData["route"]
+        self.flightType = BookedFlight._convertFlightType(bookedFlightData["flightType"])
 
     def writeIntoFile(self, f):
