diff --git a/scapy/layers/dot11.py b/scapy/layers/dot11.py
index 383af0821f42739aa1957ccbb4c2646264e62077..69b827998c58fb790093d7db9cd19b8090c9b191 100644
--- a/scapy/layers/dot11.py
+++ b/scapy/layers/dot11.py
@@ -178,10 +178,10 @@ class Dot11(Packet):
 
 class Dot11QoS(Packet):
     name = "802.11 QoS"
-    fields_desc = [ BitField("TID",None,4),
-                    BitField("EOSP",None,1),
+    fields_desc = [ BitField("Reserved",None,1),
                     BitField("Ack Policy",None,2),
-                    BitField("Reserved",None,1),
+                    BitField("EOSP",None,1),
+                    BitField("TID",None,4),
                     ByteField("TXOP",None) ]
     def guess_payload_class(self, payload):
         if isinstance(self.underlayer, Dot11):
diff --git a/test/regression.uts b/test/regression.uts
index 0ddcc9d2f75ea1359828e9336b352a5f4e604d40..f68beb0f8bf7d738e0cf097c931976e2a19a60bd 100644
--- a/test/regression.uts
+++ b/test/regression.uts
@@ -8611,8 +8611,8 @@ Dot11 in p and p.addr3 == "00:00:00:00:00:00"
 p.mysummary() == '802.11 Management 0 00:00:00:00:00:00 > 00:00:00:00:00:00'
 
 = Dot11QoS - build
-s = str(Dot11(type=2, subtype=8)/Dot11QoS())
-s == b'\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+s = str(Dot11(type=2, subtype=8)/Dot11QoS(TID=4))
+s == b'\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00'
 
 = Dot11QoS - dissection
 p = Dot11(s)