Index: src/mlx/acft.py
===================================================================
--- src/mlx/acft.py	(revision 601)
+++ src/mlx/acft.py	(revision 611)
@@ -118,4 +118,7 @@
 
         self.needNoStrobeSpeedCheck = False
+
+        self.maxTakeOffPitch = 15.0
+        self.maxTouchDownPitch = 15.0
 
         self._checkers = []
@@ -455,4 +458,10 @@
                             (self._aircraftState.cog*100.0,))
 
+        if abs(pitch)>self.maxTouchDownPitch:
+            self._flight.handleNoGo("TDPitch", self._aircraftState.timestamp,
+                                    "Touchdown pitch higher than aircraft maximum (%.2f)" % \
+                                    (self.maxTouchDownPitch,),
+                                    "TD TAILSTRIKE NO GO")
+
     def cancelFlare(self):
         """Cancel flare, if it has started."""
@@ -685,4 +694,6 @@
         self.mlw = 54657
         self.mzfw = 51482
+        self.maxTakeOffPitch = 16.2
+        self.maxTouchDownPitch = 14.7
 
 #---------------------------------------------------------------------------------------
@@ -696,4 +707,6 @@
         self.mlw = 58059
         self.mzfw = 54657
+        self.maxTakeOffPitch = 14.7
+        self.maxTouchDownPitch = 13.2
 
 #---------------------------------------------------------------------------------------
@@ -707,4 +720,6 @@
         self.mlw = 65317
         self.mzfw = 61688
+        self.maxTakeOffPitch = 11
+        self.maxTouchDownPitch = 9.5
 
 #---------------------------------------------------------------------------------------
@@ -734,4 +749,6 @@
         self.mlw = 51700
         self.mzfw = 48410
+        self.maxTakeOffPitch = 13.4
+        self.maxTouchDownPitch = 12.0
 
 #---------------------------------------------------------------------------------------
@@ -745,4 +762,6 @@
         self.mlw = 56200
         self.mzfw = 53100
+        self.maxTakeOffPitch = 11.4
+        self.maxTouchDownPitch = 10
 
 #---------------------------------------------------------------------------------------
@@ -756,4 +775,6 @@
         self.mlw = 50000
         self.mzfw = 46700
+        self.maxTakeOffPitch = 14.7
+        self.maxTouchDownPitch = 13.2
 
 #---------------------------------------------------------------------------------------
@@ -779,4 +800,6 @@
                                  15 : 172,
                                  35 : 158 }
+        self.maxTakeOffPitch = 8.0
+        self.maxTouchDownPitch = 7.0
 
 #---------------------------------------------------------------------------------------
@@ -816,4 +839,6 @@
         self.mlw = 126098
         self.mzfw = 114758
+        self.maxTakeOffPitch = 13.1
+        self.maxTouchDownPitch = 11.6
 
 #---------------------------------------------------------------------------------------
@@ -827,4 +852,6 @@
         self.mlw = 137892
         self.mzfw = 130635
+        self.maxTakeOffPitch = 9.6
+        self.maxTouchDownPitch = 8.1
 
 #---------------------------------------------------------------------------------------
@@ -849,4 +876,6 @@
                                  30 : 190,
                                  45 : 175 }
+        self.maxTakeOffPitch = 18.0
+        self.maxTouchDownPitch = 18.0
 
 #---------------------------------------------------------------------------------------
@@ -873,4 +902,6 @@
                                  42 : 180 }
         self.reverseMinSpeed = 50
+        self.maxTakeOffPitch = 16.0
+        self.maxTouchDownPitch = 16.0
 
     @property
@@ -933,4 +964,7 @@
         self.needNoStrobeSpeedCheck = True
 
+        self.maxTakeOffPitch = 16.0
+        self.maxTouchDownPitch = 16.0
+
     @property
     def derateType(self):
@@ -978,4 +1012,7 @@
 
         self.needNoStrobeSpeedCheck = True
+
+        self.maxTakeOffPitch = 16.0
+        self.maxTouchDownPitch = 16.0
 
     @property
Index: src/mlx/checks.py
===================================================================
--- src/mlx/checks.py	(revision 602)
+++ src/mlx/checks.py	(revision 611)
@@ -165,4 +165,12 @@
                            "CG/Trim: %.1f%%/%.2f" % \
                            (state.cog*100.0, state.elevatorTrim))
+
+
+            if abs(state.pitch)>aircraft.maxTakeOffPitch:
+                flight.handleNoGo("TOPitch", state.timestamp,
+                                  "Takeoff pitch higher than aircraft maximum (%.2f)" % \
+                                  (aircraft.maxTakeOffPitch,),
+                                  "TO TAILSTRIKE NO GO")
+
             self._onTheGround = False
 
Index: src/mlx/xplane.py
===================================================================
--- src/mlx/xplane.py	(revision 541)
+++ src/mlx/xplane.py	(revision 611)
@@ -1401,5 +1401,5 @@
         state.heading = data[self._monidx_heading]
 
-        state.pitch = data[self._monidx_pitch]
+        state.pitch = -1.0 * data[self._monidx_pitch]
         state.bank = data[self._monidx_bank]
 
Index: test/test1.txt
===================================================================
--- test/test1.txt	(revision 525)
+++ test/test1.txt	(revision 611)
@@ -41,4 +41,5 @@
 set gs=100 ias=100
 set gs=120 ias=120
+set pitch=-8
 set onTheGround=no
 set altitude=600
@@ -57,4 +58,5 @@
 
 set vs=-200
+set pitch=-2.0
 set altitude=15000
 set qnh=1007
@@ -79,4 +81,5 @@
 set latitude=47.49 longitude=21.62
 set lights=23
+set pitch=-5
 
 set onTheGround=yes
