Index: src/mlx/acft.py
===================================================================
--- src/mlx/acft.py	(revision 899)
+++ src/mlx/acft.py	(revision 888)
@@ -97,7 +97,4 @@
 class Aircraft(object):
     """Base class for aircraft."""
-    dowCockpit = 2
-    dowCabin = 3
-
     @staticmethod
     def create(flight, bookedFlight):
@@ -128,7 +125,5 @@
         self._landingAntiIceLineID = None
 
-        self.cockpitCrewWeight = 85.0
-        self.cabinCrewWeight = 75.0
-        self.humanWeight = 84.0
+        self.humanWeight = 82.0
 
         self.initialClimbSpeedAltitude = 1500
@@ -834,8 +829,7 @@
 class B734(Boeing737CL):
     """Boeing 737-400 aircraft."""
-    dow = 35100
-
     def __init__(self, flight):
         super(B734, self).__init__(flight)
+        self.dow = 35100
         self.mtow = 62822
         self.mlw = 54885
@@ -1240,32 +1234,4 @@
         """Get the derate type for this type."""
         return DERATE_B462
-
-#---------------------------------------------------------------------------------------
-
-class IL62(Aircraft):
-    """Ilyushin IL-62 aircraft.
-
-    The aircraft type-specific values in the aircraft state have the following
-    structure:
-    - fuel: left, centre, right
-    - n1: left outer, left inner, right inner, right outer
-    - reverser: empty (the plane has no reversers)"""
-    dow = 69500
-
-    def __init__(self, flight):
-        super(B462, self).__init__(flight)
-        self.mtow = 165000
-        self.mlw = 165000
-        self.mzfw = 165000
-        self.gearSpeedLimit = 210
-        self.flapSpeedLimits = { 18 : 217,
-                                 24 : 180,
-                                 30 : 170,
-                                 33 : 150 }
-
-    @property
-    def derateType(self):
-        """Get the derate type for this type."""
-        return DERATE_NONE
 
 #---------------------------------------------------------------------------------------
@@ -1296,6 +1262,5 @@
              const.AIRCRAFT_T154  : T154,
              const.AIRCRAFT_YK40  : YK40,
-             const.AIRCRAFT_B462  : B462,
-             const.AIRCRAFT_IL62  : IL62 }
+             const.AIRCRAFT_B462  : B462 }
 
 #---------------------------------------------------------------------------------------
@@ -1307,16 +1272,4 @@
 #---------------------------------------------------------------------------------------
 
-def setupTypes(aircraftTypes):
-    """Setup the values in the given types using the info retrieved
-    from the server."""
-    for aircraftTypeInfo in aircraftTypes:
-        clazz = getClass(aircraftTypeInfo.aircraftType)
-
-        clazz.dow = aircraftTypeInfo.dow
-        clazz.dowCockpit = aircraftTypeInfo.dowCockpit
-        clazz.dowCabin = aircraftTypeInfo.dowCabin
-
-#---------------------------------------------------------------------------------------
-
 if __name__ == "__main__":
     value = SmoothedValue()
Index: src/mlx/checks.py
===================================================================
--- src/mlx/checks.py	(revision 896)
+++ src/mlx/checks.py	(revision 666)
@@ -1413,5 +1413,5 @@
 class PayloadChecker(SimpleFaultChecker):
     """Check if the payload matches the specification."""
-    TOLERANCE=50
+    TOLERANCE=550
 
     @staticmethod
Index: src/mlx/config.py
===================================================================
--- src/mlx/config.py	(revision 897)
+++ src/mlx/config.py	(revision 738)
@@ -673,4 +673,11 @@
         """Determine if RPC calls should be used."""
         return self._useRPC
+
+    @useRPC.setter
+    def useRPC(self, useRPC):
+        """Set whether RPC calls should be used."""
+        if useRPC!=self._useRPC:
+            self._useRPC = useRPC
+            self._modified = True
 
     def getChecklist(self, aircraftType):
@@ -781,4 +788,5 @@
                                     Config.DEFAULT_UPDATE_URL +
                                     ("/exp" if secondaryInstallation else ""))
+        self._useRPC = self._getBoolean(config, "general", "useRPC", True)
 
         for aircraftType in const.aircraftTypes:
@@ -873,4 +881,7 @@
         config.set("update", "url", self._updateURL)
 
+        config.set("general", "useRPC",
+                   "yes" if self._useRPC else "no")
+
         config.add_section(Checklist.SECTION)
         config.add_section(ApproachCallouts.SECTION)
@@ -1007,4 +1018,5 @@
         print "  autoUpdate:", self._autoUpdate
         print "  updateURL:", self._updateURL
+        print "  useRPC:", self._useRPC
 
         print "  messageTypeLevels:"
Index: src/mlx/const.py
===================================================================
--- src/mlx/const.py	(revision 898)
+++ src/mlx/const.py	(revision 901)
@@ -12,5 +12,5 @@
 
 ## The version of the program
-VERSION="0.40"
+VERSION="0.39.5"
 
 #-------------------------------------------------------------------------------
@@ -105,7 +105,4 @@
 ## Aircraft type: British Aerospace BAe-146
 AIRCRAFT_B462 = 17
-
-## Aircraft type: British Aerospace BAe-146
-AIRCRAFT_IL62 = 19
 
 #-------------------------------------------------------------------------------
@@ -122,5 +119,5 @@
                  AIRCRAFT_T154, AIRCRAFT_T134,
                  AIRCRAFT_YK40, AIRCRAFT_DC3,
-                 AIRCRAFT_B462, AIRCRAFT_IL62]
+                 AIRCRAFT_B462]
 
 #-------------------------------------------------------------------------------
@@ -158,7 +155,4 @@
 ## Aircraft type family: British Aerospace BAe-146
 AIRCRAFT_FAMILY_B462 = 11
-
-## Aircraft type family: Ilyushin IL-62
-AIRCRAFT_FAMILY_IL62 = 12
 
 #-------------------------------------------------------------------------------
@@ -188,7 +182,5 @@
     AIRCRAFT_FAMILY_YK40: [AIRCRAFT_YK40],
 
-    AIRCRAFT_FAMILY_B462: [AIRCRAFT_B462],
-
-    AIRCRAFT_FAMILY_IL62: [AIRCRAFT_IL62]
+    AIRCRAFT_FAMILY_B462: [AIRCRAFT_B462]
 
     }
@@ -224,28 +216,5 @@
               AIRCRAFT_T154  : "T154",
               AIRCRAFT_YK40  : "YK40",
-              AIRCRAFT_B462  : "B462",
-              AIRCRAFT_IL62  : "IL62" }
-
-#-------------------------------------------------------------------------------
-
-## A mapping from ICAO codes to the corresponding aircraft types
-icao2Type = { "B736" : AIRCRAFT_B736,
-              "B737" : AIRCRAFT_B737,
-              "B738" : AIRCRAFT_B738,
-              "B732" : AIRCRAFT_B732,
-              "B733" : AIRCRAFT_B733,
-              "B734" : AIRCRAFT_B734,
-              "B735" : AIRCRAFT_B735,
-              "DH8D" : AIRCRAFT_DH8D,
-              "B762" : AIRCRAFT_B762,
-              "B763" : AIRCRAFT_B763,
-              "CRJ2" : AIRCRAFT_CRJ2,
-              "F70"  : AIRCRAFT_F70,
-              "DC3"  : AIRCRAFT_DC3,
-              "T134" : AIRCRAFT_T134,
-              "T154" : AIRCRAFT_T154,
-              "YK40" : AIRCRAFT_YK40,
-              "B462" : AIRCRAFT_B462,
-              "IL62" : AIRCRAFT_IL62 }
+              AIRCRAFT_B462  : "B462" }
 
 #-------------------------------------------------------------------------------
Index: src/mlx/flight.py
===================================================================
--- src/mlx/flight.py	(revision 899)
+++ src/mlx/flight.py	(revision 846)
@@ -152,17 +152,7 @@
 
     @property
-    def numCockpitCrew(self):
-        """Get the number of cockpit crew members on the flight."""
-        return self._gui.numCockpitCrew
-
-    @property
-    def numCabinCrew(self):
-        """Get the number of cabon crew members on the flight."""
-        return self._gui.numCabinCrew
-
-    @property
     def numCrew(self):
         """Get the number of crew members on the flight."""
-        return self.numCockpitCrew + self.numCabinCrew
+        return self._gui.numCrew
 
     @property
Index: src/mlx/gui/common.py
===================================================================
--- src/mlx/gui/common.py	(revision 895)
+++ src/mlx/gui/common.py	(revision 863)
@@ -547,6 +547,5 @@
                   _const.AIRCRAFT_T154  : xstr("aircraft_t154"),
                   _const.AIRCRAFT_YK40  : xstr("aircraft_yk40"),
-                  _const.AIRCRAFT_B462  : xstr("aircraft_b462"),
-                  _const.AIRCRAFT_IL62  : xstr("aircraft_il62") }
+                  _const.AIRCRAFT_B462  : xstr("aircraft_b462") }
 
 #------------------------------------------------------------------------------
@@ -573,7 +572,5 @@
     _const.AIRCRAFT_FAMILY_YK40: xstr("aircraft_family_yk40"),
 
-    _const.AIRCRAFT_FAMILY_B462: xstr("aircraft_family_b462"),
-
-    _const.AIRCRAFT_FAMILY_IL62: xstr("aircraft_family_il62")
+    _const.AIRCRAFT_FAMILY_B462: xstr("aircraft_family_b462")
 }
 
Index: src/mlx/gui/flight.py
===================================================================
--- src/mlx/gui/flight.py	(revision 899)
+++ src/mlx/gui/flight.py	(revision 872)
@@ -32,5 +32,5 @@
 #
 # This module implements the main tab of the application, the flight
-# wizard. The wizard consists of \ref Page "pages", that come one yafter the
+# wizard. The wizard consists of \ref Page "pages", that come one after the
 # other. As some pages might be skipped, the pages dynamically store the index
 # of the previous page so that going back to it is simpler. The \ref
@@ -2125,5 +2125,5 @@
                                   xscale = 0.0, yscale = 0.0)
 
-        table = gtk.Table(8, 3)
+        table = gtk.Table(7, 3)
         table.set_row_spacings(4)
         table.set_col_spacings(16)
@@ -2132,32 +2132,20 @@
         self.setMainWidget(alignment)
 
-        label = gtk.Label(xstr("payload_cockpit_crew"))
+        label = gtk.Label(xstr("payload_crew"))
         label.set_use_underline(True)
         label.set_alignment(0.0, 0.5)
         table.attach(label, 0, 1, 0, 1)
 
-        self._numCockpitCrew = IntegerEntry(defaultValue = 0)
-        self._numCockpitCrew.set_width_chars(6)
-        self._numCockpitCrew.connect("integer-changed", self._weightChanged)
-        self._numCockpitCrew.set_tooltip_text(xstr("payload_cockpit_crew_tooltip"))
-        table.attach(self._numCockpitCrew, 1, 2, 0, 1)
-        label.set_mnemonic_widget(self._numCockpitCrew)
-
-        label = gtk.Label(xstr("payload_cabin_crew"))
+        self._numCrew = IntegerEntry(defaultValue = 0)
+        self._numCrew.set_width_chars(6)
+        self._numCrew.connect("integer-changed", self._weightChanged)
+        self._numCrew.set_tooltip_text(xstr("payload_crew_tooltip"))
+        table.attach(self._numCrew, 1, 2, 0, 1)
+        label.set_mnemonic_widget(self._numCrew)
+
+        label = gtk.Label(xstr("payload_pax"))
         label.set_use_underline(True)
         label.set_alignment(0.0, 0.5)
         table.attach(label, 0, 1, 1, 2)
-
-        self._numCabinCrew = IntegerEntry(defaultValue = 0)
-        self._numCabinCrew.set_width_chars(6)
-        self._numCabinCrew.connect("integer-changed", self._weightChanged)
-        self._numCabinCrew.set_tooltip_text(xstr("payload_cabin_crew_tooltip"))
-        table.attach(self._numCabinCrew, 1, 2, 1, 2)
-        label.set_mnemonic_widget(self._numCabinCrew)
-
-        label = gtk.Label(xstr("payload_pax"))
-        label.set_use_underline(True)
-        label.set_alignment(0.0, 0.5)
-        table.attach(label, 0, 1, 2, 3)
 
         self._numPassengers = IntegerEntry(defaultValue = 0)
@@ -2165,5 +2153,5 @@
         self._numPassengers.connect("integer-changed", self._weightChanged)
         self._numPassengers.set_tooltip_text(xstr("payload_pax_tooltip"))
-        table.attach(self._numPassengers, 1, 2, 2, 3)
+        table.attach(self._numPassengers, 1, 2, 1, 2)
         label.set_mnemonic_widget(self._numPassengers)
 
@@ -2171,5 +2159,5 @@
         label.set_use_underline(True)
         label.set_alignment(0.0, 0.5)
-        table.attach(label, 0, 1, 3, 4)
+        table.attach(label, 0, 1, 2, 3)
 
         self._bagWeight = IntegerEntry(defaultValue = 0)
@@ -2177,13 +2165,13 @@
         self._bagWeight.connect("integer-changed", self._weightChanged)
         self._bagWeight.set_tooltip_text(xstr("payload_bag_tooltip"))
-        table.attach(self._bagWeight, 1, 2, 3, 4)
+        table.attach(self._bagWeight, 1, 2, 2, 3)
         label.set_mnemonic_widget(self._bagWeight)
 
-        table.attach(gtk.Label("kg"), 2, 3, 3, 4)
+        table.attach(gtk.Label("kg"), 2, 3, 2, 3)
 
         label = gtk.Label(xstr("payload_cargo"))
         label.set_use_underline(True)
         label.set_alignment(0.0, 0.5)
-        table.attach(label, 0, 1, 4, 5)
+        table.attach(label, 0, 1, 3, 4)
 
         self._cargoWeight = IntegerEntry(defaultValue = 0)
@@ -2191,13 +2179,13 @@
         self._cargoWeight.connect("integer-changed", self._weightChanged)
         self._cargoWeight.set_tooltip_text(xstr("payload_cargo_tooltip"))
-        table.attach(self._cargoWeight, 1, 2, 4, 5)
+        table.attach(self._cargoWeight, 1, 2, 3, 4)
         label.set_mnemonic_widget(self._cargoWeight)
 
-        table.attach(gtk.Label("kg"), 2, 3, 4, 5)
+        table.attach(gtk.Label("kg"), 2, 3, 3, 4)
 
         label = gtk.Label(xstr("payload_mail"))
         label.set_use_underline(True)
         label.set_alignment(0.0, 0.5)
-        table.attach(label, 0, 1, 5, 6)
+        table.attach(label, 0, 1, 4, 5)
 
         self._mailWeight = IntegerEntry(defaultValue = 0)
@@ -2205,20 +2193,20 @@
         self._mailWeight.connect("integer-changed", self._weightChanged)
         self._mailWeight.set_tooltip_text(xstr("payload_mail_tooltip"))
-        table.attach(self._mailWeight, 1, 2, 5, 6)
+        table.attach(self._mailWeight, 1, 2, 4, 5)
         label.set_mnemonic_widget(self._mailWeight)
 
-        table.attach(gtk.Label("kg"), 2, 3, 5, 6)
+        table.attach(gtk.Label("kg"), 2, 3, 4, 5)
 
         label = gtk.Label("<b>" + xstr("payload_zfw") + "</b>")
         label.set_alignment(0.0, 0.5)
         label.set_use_markup(True)
-        table.attach(label, 0, 1, 6, 7)
+        table.attach(label, 0, 1, 5, 6)
 
         self._calculatedZFW = gtk.Label()
         self._calculatedZFW.set_width_chars(6)
         self._calculatedZFW.set_alignment(1.0, 0.5)
-        table.attach(self._calculatedZFW, 1, 2, 6, 7)
-
-        table.attach(gtk.Label("kg"), 2, 3, 6, 7)
+        table.attach(self._calculatedZFW, 1, 2, 5, 6)
+
+        table.attach(gtk.Label("kg"), 2, 3, 5, 6)
 
         self._zfwButton = gtk.Button(xstr("payload_fszfw"))
@@ -2226,13 +2214,13 @@
         self._zfwButton.connect("clicked", self._zfwRequested)
         self._zfwButton.set_tooltip_text(xstr("payload_fszfw_tooltip"))
-        table.attach(self._zfwButton, 0, 1, 7, 8)
+        table.attach(self._zfwButton, 0, 1, 6, 7)
 
         self._simulatorZFW = gtk.Label("-")
         self._simulatorZFW.set_width_chars(6)
         self._simulatorZFW.set_alignment(1.0, 0.5)
-        table.attach(self._simulatorZFW, 1, 2, 7, 8)
+        table.attach(self._simulatorZFW, 1, 2, 6, 7)
         self._simulatorZFWValue = None
 
-        table.attach(gtk.Label("kg"), 2, 3, 7, 8)
+        table.attach(gtk.Label("kg"), 2, 3, 6, 7)
 
         self.addCancelFlightButton()
@@ -2241,12 +2229,7 @@
 
     @property
-    def numCockpitCrew(self):
-        """The number of the cockpit crew members on the flight."""
-        return self._numCockpitCrew.get_int()
-
-    @property
-    def numCabinCrew(self):
-        """The number of the cabin crew members on the flight."""
-        return self._numCabinCrew.get_int()
+    def numCrew(self):
+        """The number of the crew members on the flight."""
+        return self._numCrew.get_int()
 
     @property
@@ -2273,14 +2256,7 @@
         """Setup the information."""
         bookedFlight = self._wizard._bookedFlight
-        aircraft = self._wizard.gui._flight.aircraft
-
-        numCrew = bookedFlight.numCrew
-        numCockpitCrew = min(numCrew, aircraft.dowCockpit)
-        numCabinCrew = numCrew - numCockpitCrew
-
-        self._numCockpitCrew.set_int(numCockpitCrew)
-        self._numCockpitCrew.set_sensitive(True)
-        self._numCabinCrew.set_int(numCabinCrew)
-        self._numCabinCrew.set_sensitive(True)
+
+        self._numCrew.set_int(bookedFlight.numCrew)
+        self._numCrew.set_sensitive(True)
         self._numPassengers.set_int(bookedFlight.numPassengers)
         self._numPassengers.set_sensitive(True)
@@ -2300,6 +2276,5 @@
     def finalize(self):
         """Finalize the payload page."""
-        self._numCockpitCrew.set_sensitive(False)
-        self._numCabinCrew.set_sensitive(False)
+        self._numCrew.set_sensitive(False)
         self._numPassengers.set_sensitive(False)
         self._bagWeight.set_sensitive(False)
@@ -2310,13 +2285,9 @@
     def calculateZFW(self):
         """Calculate the ZFW value."""
-        aircraft = self._wizard.gui._flight.aircraft
         zfw = self._wizard.gui._flight.aircraft.dow
-        zfw += (self.numCockpitCrew - aircraft.dowCockpit) * aircraft.cockpitCrewWeight
-        zfw += (self.numCabinCrew - aircraft.dowCabin) * aircraft.cabinCrewWeight
-        zfw += (self._numPassengers.get_int()) * aircraft.humanWeight
+        zfw += (self._numCrew.get_int() + self._numPassengers.get_int()) * 82
         zfw += self._bagWeight.get_int()
         zfw += self._cargoWeight.get_int()
         zfw += self._mailWeight.get_int()
-        zfw = int(zfw)
         return zfw
 
@@ -5570,12 +5541,7 @@
 
     @property
-    def numCockpitCrew(self):
-        """Get the number of cockpit crew members."""
-        return self._payloadPage.numCockpitCrew
-
-    @property
-    def numCabinCrew(self):
-        """Get the number of cabin crew members."""
-        return self._payloadPage.numCabinCrew
+    def numCrew(self):
+        """Get the number of crew members."""
+        return self._payloadPage.numCrew
 
     @property
@@ -5925,5 +5891,4 @@
                 self._loginResult = result
                 self.gui.loginSuccessful()
-                acft.setupTypes(result.aircraftTypes)
             else:
                 if isReload:
Index: src/mlx/gui/gui.py
===================================================================
--- src/mlx/gui/gui.py	(revision 899)
+++ src/mlx/gui/gui.py	(revision 869)
@@ -264,12 +264,7 @@
 
     @property
-    def numCockpitCrew(self):
-        """Get the number of cockpit crew members."""
-        return self._wizard.numCockpitCrew
-
-    @property
-    def numCabinCrew(self):
-        """Get the number of cabin crew members."""
-        return self._wizard.numCabinCrew
+    def numCrew(self):
+        """Get the number of crew members."""
+        return self._wizard.numCrew
 
     @property
Index: src/mlx/gui/prefs.py
===================================================================
--- src/mlx/gui/prefs.py	(revision 897)
+++ src/mlx/gui/prefs.py	(revision 738)
@@ -276,4 +276,6 @@
 
         self._updateURL.set_text(config.updateURL)
+
+        self._useRPC.set_active(config.useRPC)
 
         self._settingFromConfig = False
@@ -320,4 +322,5 @@
         config.autoUpdate = self._autoUpdate.get_active()
         config.updateURL = self._updateURL.get_text()
+        config.useRPC = self._useRPC.get_active()
 
     def _buildGeneral(self):
@@ -814,4 +817,10 @@
         updateURLBox.pack_start(self._updateURL, True, True, 4)
 
+        self._useRPC = gtk.CheckButton(xstr("prefs_use_rpc"))
+        mainBox.pack_start(self._useRPC, False, False, 16)
+
+        self._useRPC.set_use_underline(True)
+        self._useRPC.set_tooltip_text(xstr("prefs_use_rpc_tooltip"))
+
         return mainAlignment
 
Index: src/mlx/gui/weighthelp.py
===================================================================
--- src/mlx/gui/weighthelp.py	(revision 899)
+++ src/mlx/gui/weighthelp.py	(revision 303)
@@ -56,5 +56,5 @@
 
         
-        self._weightsTable = table = gtk.Table(17, 5)
+        self._weightsTable = table = gtk.Table(16, 5)
         table.set_homogeneous(False)
         table.set_row_spacings(4)
@@ -91,33 +91,17 @@
         
 
-        self._cockpitCrewLabel = \
-          gtk.Label(xstr("weighthelp_cockpit_crew") % ("99",))
-        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._cockpitCrewLabel)
+        self._crewLabel = gtk.Label(xstr("weighthelp_crew") % ("99",))
+        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._crewLabel)
         table.attach(alignment, 0, 1, 1, 2)
 
-        self._cockpitCrewWeight = gtk.Label("0")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._cockpitCrewWeight)
+        self._crewWeight = gtk.Label("0")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._crewWeight)
         table.attach(alignment, 1, 2, 1, 2)
         
         table.attach(gtk.Label("kg"), 2, 3, 1, 2)
-
-        self._cabinCrewLabel = \
-          gtk.Label(xstr("weighthelp_cabin_crew") % ("99",))
-        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._cabinCrewLabel)
-        table.attach(alignment, 0, 1, 2, 3)
-
-        self._cabinCrewWeight = gtk.Label("0")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._cabinCrewWeight)
-        table.attach(alignment, 1, 2, 2, 3)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 2, 3)
 
         text = xstr("weighthelp_pax") % ("999",)
@@ -128,15 +112,29 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._paxLabel)
+        table.attach(alignment, 0, 1, 2, 3)
+
+        self._paxWeight = gtk.Label("20000")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._paxWeight)
+        table.attach(alignment, 1, 2, 2, 3)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 2, 3)
+        
+        label = gtk.Label(xstr("weighthelp_baggage"))
+        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(label)
         table.attach(alignment, 0, 1, 3, 4)
 
-        self._paxWeight = gtk.Label("20000")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._paxWeight)
+        self._bagWeight = gtk.Label("2000")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._bagWeight)
         table.attach(alignment, 1, 2, 3, 4)
         
         table.attach(gtk.Label("kg"), 2, 3, 3, 4)
         
-        label = gtk.Label(xstr("weighthelp_baggage"))
+        label = gtk.Label(xstr("weighthelp_cargo"))
         alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
                                   xscale = 0.0, yscale = 0.0)
@@ -144,13 +142,13 @@
         table.attach(alignment, 0, 1, 4, 5)
 
-        self._bagWeight = gtk.Label("2000")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._bagWeight)
+        self._cargoWeight = gtk.Label("2000")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._cargoWeight)
         table.attach(alignment, 1, 2, 4, 5)
         
         table.attach(gtk.Label("kg"), 2, 3, 4, 5)
         
-        label = gtk.Label(xstr("weighthelp_cargo"))
+        label = gtk.Label(xstr("weighthelp_mail"))
         alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
                                   xscale = 0.0, yscale = 0.0)
@@ -158,27 +156,13 @@
         table.attach(alignment, 0, 1, 5, 6)
 
-        self._cargoWeight = gtk.Label("2000")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._cargoWeight)
+        self._mailWeight = gtk.Label("2000")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._mailWeight)
         table.attach(alignment, 1, 2, 5, 6)
         
         table.attach(gtk.Label("kg"), 2, 3, 5, 6)
-        
-        label = gtk.Label(xstr("weighthelp_mail"))
-        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(label)
-        table.attach(alignment, 0, 1, 6, 7)
-
-        self._mailWeight = gtk.Label("2000")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._mailWeight)
-        table.attach(alignment, 1, 2, 6, 7)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 6, 7)
-
-        table.attach(gtk.HSeparator(), 1, 2, 7, 8)
+
+        table.attach(gtk.HSeparator(), 1, 2, 6, 7)
 
         label = gtk.Label("<b>" + xstr("weighthelp_payload") + "</b>")
@@ -187,5 +171,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
-        table.attach(alignment, 0, 1, 8, 9)
+        table.attach(alignment, 0, 1, 7, 8)
 
         self._payload = gtk.Label("<b>32000</b>")
@@ -194,7 +178,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._payload)
-        table.attach(alignment, 1, 2, 8, 9)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 8, 9)
+        table.attach(alignment, 1, 2, 7, 8)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 7, 8)
 
         self._fsPayload = gtk.Label("<b>32001</b>")
@@ -203,34 +187,34 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._fsPayload)
+        table.attach(alignment, 3, 4, 7, 8)
+        
+        table.attach(gtk.Label("kg"), 4, 5, 7, 8)
+
+        label = gtk.Label(xstr("weighthelp_dow"))
+        label.set_use_markup(True)
+        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(label)
+        table.attach(alignment, 0, 1, 8, 9)
+
+        self._dow = gtk.Label("35000")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._dow)
+        table.attach(alignment, 1, 2, 8, 9)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 8, 9)
+
+        self._fsDOW = gtk.Label("33012")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._fsDOW)
         table.attach(alignment, 3, 4, 8, 9)
         
         table.attach(gtk.Label("kg"), 4, 5, 8, 9)
 
-        label = gtk.Label(xstr("weighthelp_dow"))
-        label.set_use_markup(True)
-        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(label)
-        table.attach(alignment, 0, 1, 9, 10)
-
-        self._dow = gtk.Label("35000")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._dow)
-        table.attach(alignment, 1, 2, 9, 10)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 9, 10)
-
-        self._fsDOW = gtk.Label("33012")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._fsDOW)
-        table.attach(alignment, 3, 4, 9, 10)
-        
-        table.attach(gtk.Label("kg"), 4, 5, 9, 10)
-
-        table.attach(gtk.HSeparator(), 1, 2, 10, 11)
-
-        table.attach(gtk.HSeparator(), 3, 4, 10, 11)
+        table.attach(gtk.HSeparator(), 1, 2, 9, 10)
+
+        table.attach(gtk.HSeparator(), 3, 4, 9, 10)
 
         label = gtk.Label("<b>" + xstr("weighthelp_zfw") + "</b>")
@@ -239,5 +223,5 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
-        table.attach(alignment, 0, 1, 11, 12)
+        table.attach(alignment, 0, 1, 10, 11)
 
         self._zfw = gtk.Label("<b>122000</b>")
@@ -246,7 +230,7 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._zfw)
-        table.attach(alignment, 1, 2, 11, 12)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 11, 12)
+        table.attach(alignment, 1, 2, 10, 11)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 10, 11)
 
         self._fsZFW = gtk.Label("<b>124000</b>")
@@ -255,9 +239,9 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(self._fsZFW)
-        table.attach(alignment, 3, 4, 11, 12)
-        
-        table.attach(gtk.Label("kg"), 4, 5, 11, 12)
-
-        table.attach(gtk.HSeparator(), 0, 5, 12, 13)
+        table.attach(alignment, 3, 4, 10, 11)
+        
+        table.attach(gtk.Label("kg"), 4, 5, 10, 11)
+
+        table.attach(gtk.HSeparator(), 0, 5, 11, 12)
         
         label = gtk.Label(xstr("weighthelp_gross"))
@@ -266,15 +250,30 @@
                                   xscale = 0.0, yscale = 0.0)
         alignment.add(label)
+        table.attach(alignment, 0, 1, 12, 13)
+
+        self._fsGross = gtk.Label("124000")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._fsGross)
+        table.attach(alignment, 3, 4, 12, 13)
+        
+        table.attach(gtk.Label("kg"), 4, 5, 12, 13)
+
+        label = gtk.Label(xstr("weighthelp_mzfw"))
+        label.set_use_markup(True)
+        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(label)
         table.attach(alignment, 0, 1, 13, 14)
 
-        self._fsGross = gtk.Label("124000")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._fsGross)
-        table.attach(alignment, 3, 4, 13, 14)
-        
-        table.attach(gtk.Label("kg"), 4, 5, 13, 14)
-
-        label = gtk.Label(xstr("weighthelp_mzfw"))
+        self._mzfw = gtk.Label("35000")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._mzfw)
+        table.attach(alignment, 1, 2, 13, 14)
+        
+        table.attach(gtk.Label("kg"), 2, 3, 13, 14)
+
+        label = gtk.Label(xstr("weighthelp_mtow"))
         label.set_use_markup(True)
         alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
@@ -283,13 +282,13 @@
         table.attach(alignment, 0, 1, 14, 15)
 
-        self._mzfw = gtk.Label("35000")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._mzfw)
+        self._mtow = gtk.Label("35000")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._mtow)
         table.attach(alignment, 1, 2, 14, 15)
         
         table.attach(gtk.Label("kg"), 2, 3, 14, 15)
 
-        label = gtk.Label(xstr("weighthelp_mtow"))
+        label = gtk.Label(xstr("weighthelp_mlw"))
         label.set_use_markup(True)
         alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
@@ -298,26 +297,11 @@
         table.attach(alignment, 0, 1, 15, 16)
 
-        self._mtow = gtk.Label("35000")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._mtow)
+        self._mlw = gtk.Label("35000")
+        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
+                                  xscale = 0.0, yscale = 0.0)
+        alignment.add(self._mlw)
         table.attach(alignment, 1, 2, 15, 16)
         
         table.attach(gtk.Label("kg"), 2, 3, 15, 16)
-
-        label = gtk.Label(xstr("weighthelp_mlw"))
-        label.set_use_markup(True)
-        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(label)
-        table.attach(alignment, 0, 1, 16, 17)
-
-        self._mlw = gtk.Label("35000")
-        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
-                                  xscale = 0.0, yscale = 0.0)
-        alignment.add(self._mlw)
-        table.attach(alignment, 1, 2, 16, 17)
-        
-        table.attach(gtk.Label("kg"), 2, 3, 16, 17)
 
         self.show_all()
@@ -338,12 +322,7 @@
         self._weightsTable.set_sensitive(False)
         
-        self._cockpitCrew = -1
-        self._cabinCrew = -1
+        self._crew = -1
         self._pax = -1
-        self._dowCockpit = 2
-        self._cockpitCrewMemberWeight = 85.0
-        self._dowCabin = 2
-        self._cabinCrewMemberWeight = 75.0
-        self._humanWeight = 84.0
+        self._humanWeight = 82.0
         self._bag = -1
         self._cargo = -1
@@ -364,21 +343,11 @@
     def _setupCalculated(self):
         """Setup the labels for the calculated values."""
-        if self._cockpitCrew<0:
-            self._cockpitCrewLabel.set_text(xstr("weighthelp_cockpit_crew") % ("-",))
-            self._cockpitCrewWeight.set_text("-")
-        else:
-            self._cockpitCrewLabel.set_text(xstr("weighthelp_cockpit_crew") %
-                                            (str(self._cockpitCrew),))
-            crewWeight = (self._cockpitCrew - self._dowCockpit) * self._cockpitCrewMemberWeight
-            self._cockpitCrewWeight.set_text("%.0f" % (crewWeight,))
-            
-        if self._cabinCrew<0:
-            self._cabinCrewLabel.set_text(xstr("weighthelp_cabin_crew") % ("-",))
-            self._cabinCrewWeight.set_text("-")
-        else:
-            self._cabinCrewLabel.set_text(xstr("weighthelp_cabin_crew") %
-                                          (str(self._cabinCrew),))
-            crewWeight = (self._cabinCrew - self._dowCabin) * self._cabinCrewMemberWeight
-            self._cabinCrewWeight.set_text("%.0f" % (crewWeight,))
+        if self._crew<0:
+            self._crewLabel.set_text(xstr("weighthelp_crew") % ("-",))
+            self._crewWeight.set_text("-")
+        else:
+            self._crewLabel.set_text(xstr("weighthelp_crew") % (str(self._crew),))
+            crewWeight = self._crew * self._humanWeight
+            self._crewWeight.set_text("%.0f" % (crewWeight,))
             
         if self._pax<0:
@@ -454,15 +423,10 @@
         It returns a tuple with these two items. If any of the items cannot be
         calculated, that is -1."""
-        if self._cockpitCrew<0 or self._cabinCrew<0 or self._pax<0 or \
+        if self._crew<0 or self._pax<0 or \
                self._bag<0 or self._cargo<0 or self._mail<0:
             payload = -1
         else:
-            payload = \
-              (self._cockpitCrew - self._dowCockpit) * \
-              self._cockpitCrewMemberWeight + \
-              (self._cabinCrew - self._dowCabin) * \
-              self._cabinCrewMemberWeight + \
-              self._pax * self._humanWeight + \
-              self._bag + self._cargo + self._mail
+            payload = (self._crew + self._pax) * self._humanWeight + \
+                      self._bag + self._cargo + self._mail
 
         if payload<0 or self._dowValue<0:
@@ -480,6 +444,5 @@
         self._gui.logger.untimedMessage("The weight calculation help function was used by the pilot")
 
-        self._cockpitCrew = self._gui.numCockpitCrew
-        self._cabinCrew = self._gui.numCabinCrew
+        self._crew = self._gui.numCrew
         self._pax = self._gui.numPassengers
         self._bag = self._gui.bagWeight
@@ -488,8 +451,4 @@
         
         aircraft = self._gui.flight.aircraft
-        self._dowCockpit = aircraft.dowCockpit
-        self._cockpitCrewMemberWeight = aircraft.cockpitCrewWeight
-        self._dowCabin = aircraft.dowCabin
-        self._cabinCrewMemberWeight = aircraft.cabinCrewWeight
         self._humanWeight = aircraft.humanWeight
         self._dowValue = aircraft.dow
Index: src/mlx/rpc.py
===================================================================
--- src/mlx/rpc.py	(revision 898)
+++ src/mlx/rpc.py	(revision 889)
@@ -208,6 +208,5 @@
                       "TU5"  : const.AIRCRAFT_T154,
                       "YK4"  : const.AIRCRAFT_YK40,
-                      "146"  : const.AIRCRAFT_B462,
-                      "IL6"  : const.AIRCRAFT_IL62 }
+                      "146"  : const.AIRCRAFT_B462 }
 
     # FIXME: copied from web.BookedFlight
@@ -229,6 +228,5 @@
                       const.AIRCRAFT_T154  : "TU5",
                       const.AIRCRAFT_YK40  : "YK4",
-                      const.AIRCRAFT_B462  : "146",
-                      const.AIRCRAFT_IL62  : "IL6" }
+                      const.AIRCRAFT_B462  : "146" }
 
     # FIXME: copied from web.BookedFlight
@@ -381,22 +379,4 @@
 #---------------------------------------------------------------------------------------
 
-class AircraftTypeInfo(RPCObject):
-    """Information about an aircraft type."""
-    # The instructions for the construction
-    _instructions = {
-        "dow" : int,
-        "dowCockpit" : int,
-        "dowCabin" : int,
-        }
-
-    def __init__(self, value):
-        """Construct the booked flight object from the given RPC result
-        value."""
-        super(AircraftTypeInfo, self).__init__(value,
-                                               AircraftTypeInfo._instructions)
-        self.aircraftType = const.icao2Type[value["typeCode"]]
-
-#---------------------------------------------------------------------------------------
-
 class Registration(object):
     """Data for registration."""
@@ -525,11 +505,4 @@
             return None
 
-    def getTypes(self):
-        """Get the data of the aircraft types supported by us."""
-        value = self._performCall(lambda sessionID:
-                                  self._server.getTypes(sessionID))
-
-        return [AircraftTypeInfo(t) for t in value]
-
     def getFlights(self):
         """Get the flights available for performing."""
Index: src/mlx/web.py
===================================================================
--- src/mlx/web.py	(revision 898)
+++ src/mlx/web.py	(revision 859)
@@ -73,6 +73,5 @@
                       "TU5"  : const.AIRCRAFT_T154,
                       "YK4"  : const.AIRCRAFT_YK40,
-                      "146"  : const.AIRCRAFT_B462,
-                      "IL6"  : const.AIRCRAFT_IL62 }
+                      "146"  : const.AIRCRAFT_B462 }
 
     TYPE2TYPECODE = { const.AIRCRAFT_B736  : "736",
@@ -93,6 +92,5 @@
                       const.AIRCRAFT_T154  : "TU5",
                       const.AIRCRAFT_YK40  : "YK4",
-                      const.AIRCRAFT_B462  : "146",
-                      const.AIRCRAFT_IL62  : "IL6" }
+                      const.AIRCRAFT_B462  : "146" }
 
     checkFlightTypes = [ const.AIRCRAFT_B736, const.AIRCRAFT_B737,
@@ -817,12 +815,8 @@
             result.types = loginResult[2]
             result.password = password
-
-            result.aircraftTypes = client.getTypes()
-
             flights = client.getFlights()
             result.flights = flights[0]
             result.reportedFlights = flights[1]
             result.rejectedFlights = flights[2]
-
             if result.rank=="STU":
                 reply = client.getEntryExamStatus()
