diff --git a/scapy/contrib/openflow3.py b/scapy/contrib/openflow3.py
index 48f83b4df380ad2e74064569f1539efdf8b3fabd..e59e5f90e552ec15be7ec6ca870d155756e89e4f 100755
--- a/scapy/contrib/openflow3.py
+++ b/scapy/contrib/openflow3.py
@@ -2595,7 +2595,7 @@ class GroupDescPacketListField(PacketListField):
         remain = s
 
         while remain:
-            l = GroupsDescPacketListField._get_group_desc_length(remain)
+            l = GroupDescPacketListField._get_group_desc_length(remain)
             current = remain[:l]
             remain = remain[l:]
             p = OFPGroupDesc(current)
diff --git a/scapy/contrib/openflow3.uts b/scapy/contrib/openflow3.uts
index 0fb844ac548bedd4b189a3384166687dcbfab1e5..b86230091c98ed9f6cfee8cef6b1fbeb03efa299 100755
--- a/scapy/contrib/openflow3.uts
+++ b/scapy/contrib/openflow3.uts
@@ -1,5 +1,13 @@
 % Tests for OpenFlow v1.3 with Scapy
 
++ Fields
+
+= GroupDescPacketListField(), check getfield
+remain, lst = GroupDescPacketListField(None, None, None).getfield(None, b'\x00\x10')
+not remain
+all([OFPGroupDesc in gd for gd in lst])
+lst[0].length == 0x0010
+
 + Usual OFv1.3 messages
 
 = OFPTHello(), hello without version bitmap