Index: src/mlx/checks.py
===================================================================
--- src/mlx/checks.py	(revision 420)
+++ src/mlx/checks.py	(revision 430)
@@ -954,5 +954,8 @@
         """Check if the fault condition holds."""
         if flight.stage==const.STAGE_CRUISE:
-            bankLimit = 32
+            isDH8DXplane = flight.aircraftType==const.AIRCRAFT_DH8D and \
+                           (flight.fsType==const.SIM_XPLANE10 or
+                            flight.fsType==const.SIM_XPLANE9)
+            bankLimit = 35 if isDH8DXplane else 30
         elif flight.stage in [const.STAGE_TAKEOFF, const.STAGE_CLIMB,
                               const.STAGE_DESCENT, const.STAGE_LANDING]:
Index: src/mlx/flight.py
===================================================================
--- src/mlx/flight.py	(revision 391)
+++ src/mlx/flight.py	(revision 430)
@@ -86,4 +86,9 @@
         """Get the flight stage."""
         return self._stage
+
+    @property
+    def fsType(self):
+        """Get the flight simulator type."""
+        return self._gui.fsType
 
     @property
Index: src/mlx/gui/gui.py
===================================================================
--- src/mlx/gui/gui.py	(revision 393)
+++ src/mlx/gui/gui.py	(revision 430)
@@ -68,4 +68,5 @@
         self._flight = None
         self._simulator = None
+        self._fsType = None
         self._monitoring = False
 
@@ -205,4 +206,9 @@
 
     @property
+    def fsType(self):
+        """Get the flight simulator type."""
+        return self._fsType
+
+    @property
     def entranceExam(self):
         """Get whether an entrance exam is about to be taken."""
@@ -425,4 +431,5 @@
             self._wizard.connected(fsType, descriptor)
         self._reconnecting = False
+        self._fsType = fsType
         self._listenHotkeys()
 
Index: src/mlx/web.py
===================================================================
--- src/mlx/web.py	(revision 401)
+++ src/mlx/web.py	(revision 430)
@@ -115,5 +115,5 @@
         departureTime = readline(f)
         self.departureTime = BookedFlight.getDateTime(date, departureTime)
-                                               
+
         arrivalTime = readline(f)
         self.arrivalTime = BookedFlight.getDateTime(date, arrivalTime)
@@ -130,11 +130,11 @@
         departureTime = None
         arrivalTime = None
-        
+
         line = f.readline()
-        lineNumber = 0    
+        lineNumber = 0
         while line:
             lineNumber += 1
             line = line.strip()
-            
+
             hashIndex = line.find("#")
             if hashIndex>=0: line = line[:hashIndex]
@@ -142,9 +142,9 @@
                 equalIndex = line.find("=")
                 lineOK = equalIndex>0
-                
+
                 if lineOK:
-                    key = line[:equalIndex].strip()                    
+                    key = line[:equalIndex].strip()
                     value = line[equalIndex+1:].strip().replace("\:", ":")
-                    
+
                     lineOK = key and value
 
@@ -196,5 +196,5 @@
             self.aircraftTypeName = \
                 BookedFlight.TYPE2TYPECODE[self.aircraftType]
-            
+
     def writeIntoFile(self, f):
         """Write the flight into a file."""
@@ -235,5 +235,5 @@
         else:
             raise Exception("Invalid aircraft type code: '" + typeCode + "'")
-        
+
     def __repr__(self):
         """Get a representation of the flight."""
@@ -248,5 +248,5 @@
         s += ">"
         return s
-        
+
 #------------------------------------------------------------------------------
 
@@ -279,5 +279,5 @@
     def __repr__(self):
         """Get the representation of the plane object."""
-        s = "<Plane: %s %s" % (self.tailNumber, 
+        s = "<Plane: %s %s" % (self.tailNumber,
                                "home" if self.status==const.PLANE_HOME else \
                                "away" if self.status==const.PLANE_AWAY else \
@@ -288,5 +288,5 @@
         s += ">"
         return s
-        
+
 
 #------------------------------------------------------------------------------
@@ -323,5 +323,5 @@
                 gateNumbers.add(p.gateNumber)
         return gateNumbers
-    
+
     def updatePlane(self, tailNumber, status, gateNumber = None):
         """Update the status of the given plane."""
@@ -330,10 +330,10 @@
             plane.status = status
             plane.gateNumber = gateNumber
-    
+
     def __iter__(self):
         """Get an iterator over the planes."""
         for plane in self._planes.itervalues():
             yield plane
-        
+
     def __getitem__(self, tailNumber):
         """Get the plane with the given tail number.
@@ -345,5 +345,5 @@
         """Get the representation of the fleet object."""
         return self._planes.__repr__()
-        
+
 #------------------------------------------------------------------------------
 
@@ -371,5 +371,5 @@
         s += ">"
         return s
-    
+
 #------------------------------------------------------------------------------
 
@@ -389,16 +389,16 @@
            "E" not in attrs or not attrs["E"]:
             return
-        
+
         icao = attrs["A"]
         if icao not in self._notams:
             return
-        
+
         begin = datetime.datetime.strptime(attrs["B"], "%Y-%m-%d %H:%M:%S")
 
         c = attrs["C"] if "C" in attrs else None
         end = datetime.datetime.strptime(c, "%Y-%m-%d %H:%M:%S") if c else None
-        
+
         permanent = attrs["C_flag"]=="PERM" if "C_flag" in attrs else False
-        
+
         repeatCycle = attrs["D"] if "D" in attrs else None
 
@@ -473,5 +473,5 @@
     """A login request."""
     iso88592decoder = codecs.getdecoder("iso-8859-2")
-    
+
     def __init__(self, callback, pilotID, password, entranceExam):
         """Construct the login request with the given pilot ID and
@@ -488,5 +488,5 @@
         md5.update(self._pilotID)
         pilotID = md5.hexdigest()
-        
+
         md5 = hashlib.md5()
         md5.update(self._password)
@@ -524,5 +524,5 @@
                 result.pilotName = self.iso88592decoder(readline(f))[0]
                 result.exams = readline(f)
-                
+
                 while True:
                     line = readline(f)
@@ -540,10 +540,10 @@
 
         return result
-        
+
 #------------------------------------------------------------------------------
 
 class GetFleet(Request):
     """Request to get the fleet from the website."""
-    
+
     def __init__(self, callback):
         """Construct the fleet request."""
@@ -558,5 +558,5 @@
         result.fleet = Fleet(f)
         f.close()
-        
+
         return result
 
@@ -585,13 +585,13 @@
                                  ("status", status),
                                  ("kapu", gateNumber)])
-        
+
         f = urllib2.urlopen(url, data, timeout = 10.0)
         line = readline(f)
-        
+
         result = Result()
         result.success = line == "OK"
 
         return result
-            
+
 #------------------------------------------------------------------------------
 
@@ -628,5 +628,5 @@
 
 class GetMETARs(Request):
-    """Get the METARs from the NOAA website for certain airport ICAOs."""    
+    """Get the METARs from the NOAA website for certain airport ICAOs."""
 
     def __init__(self, callback, airports):
@@ -639,5 +639,5 @@
         url = "http://www.aviationweather.gov/adds/dataserver_current/httpparam?"
         data = urllib.urlencode([ ("dataSource" , "metars"),
-                                  ("requestType",  "retrieve"), 
+                                  ("requestType",  "retrieve"),
                                   ("format", "csv"),
                                   ("stationString", " ".join(self._airports)),
@@ -652,5 +652,5 @@
                 if len(line)>5 and line[4]==' ':
                     icao = line[0:4]
-                    if icao in self._airports:                        
+                    if icao in self._airports:
                         result.metars[icao] = line.strip().split(",")[0]
         finally:
@@ -696,5 +696,5 @@
         data["bag"] = str(pirep.bagWeight)
         data["mail"] = str(pirep.mailWeight)
-        
+
         data["flttype"] = SendPIREP._flightTypes[pirep.flightType]
         data["onoff"] = "1" if pirep.online else "0"
@@ -742,5 +742,5 @@
             f.close()
 
-        return result    
+        return result
 #------------------------------------------------------------------------------
 
@@ -757,5 +757,5 @@
         """Perform the sending of the ACARS."""
         print "Sending the online ACARS"
-        
+
         url = "http://www.virtualairlines.hu/acars2/acarsonline.php"
 
@@ -766,10 +766,10 @@
         data["pid"] = acars.pid
         data["pilot"] = SendACARS._latin2Encoder(acars.pilotName)[0]
-    
+
         data["pass"] = str(bookedFlight.numPassengers)
         data["callsign"] = bookedFlight.callsign
         data["airplane"] = bookedFlight.aircraftTypeName
         data["from"] = bookedFlight.departureICAO
-        data["to"] = bookedFlight.arrivalICAO        
+        data["to"] = bookedFlight.arrivalICAO
         data["lajstrom"] = bookedFlight.tailNumber
 
@@ -779,5 +779,5 @@
         data["altitude"] = str(acars.state.altitude)
         data["speed"] = str(acars.state.groundSpeed)
-        
+
         data["event"] = acars.getEventText()
 
@@ -788,5 +788,5 @@
             f.close()
 
-        return result    
+        return result
 
 #------------------------------------------------------------------------------
@@ -813,7 +813,7 @@
         """Enqueue a fleet retrieval request."""
         self._addRequest(GetFleet(callback))
-        
+
     def updatePlane(self, callback, tailNumber, status, gateNumber = None):
-        """Update the status of the given plane."""        
+        """Update the status of the given plane."""
         self._addRequest(UpdatePlane(callback, tailNumber, status, gateNumber))
 
@@ -821,5 +821,5 @@
         """Get the NOTAMs for the given two airports."""
         self._addRequest(GetNOTAMs(callback, departureICAO, arrivalICAO))
-        
+
     def getMETARs(self, callback, airports):
         """Get the METARs for the given airports."""
@@ -833,5 +833,5 @@
         """Send the given ACARS"""
         self._addRequest(SendACARS(callback, acars))
-        
+
     def run(self):
         """Process the requests."""
@@ -844,5 +844,5 @@
 
             request.perform()
-    
+
     def _addRequest(self, request):
         """Add the given request to the queue."""
@@ -855,8 +855,8 @@
 if __name__ == "__main__":
     import time
-    
+
     def callback(returned, result):
         print returned, unicode(result)
-        
+
     handler = Handler()
     handler.start()
@@ -866,5 +866,5 @@
     # Plane: HA-LEG home (gate 67)
     #handler.updatePlane(callback, "HA-LQC", const.PLANE_AWAY, "72")
-    #time.sleep(3)    
+    #time.sleep(3)
     #handler.getFleet(callback)
     #time.sleep(3)
@@ -873,7 +873,7 @@
     #handler.getMETARs(callback, ["LHBP", "EPWA"])
     #time.sleep(5)
-    
+
     handler.updatePlane(callback, "HA-LON", const.PLANE_AWAY, "")
-    time.sleep(3)    
-
-#------------------------------------------------------------------------------
+    time.sleep(3)
+
+#------------------------------------------------------------------------------
