diff --git a/scapy/contrib/igmpv3.py b/scapy/contrib/igmpv3.py
index 65ae222b1f68356472fc4219863732ca6f754873..dfdcf3a1a9061fb5111d8f9b71eb83e66115f889 100644
--- a/scapy/contrib/igmpv3.py
+++ b/scapy/contrib/igmpv3.py
@@ -47,9 +47,9 @@ class IGMPv3gr(Packet):
 
   fields_desc = [ ByteEnumField("rtype", 1, igmpv3grtypes),
                       ByteField("auxdlen",0),
-                  FieldLenField("numsrc", None, "srcaddrs"),
+                  FieldLenField("numsrc", None, count_of="srcaddrs"),
                         IPField("maddr", "0.0.0.0"),
-                 FieldListField("srcaddrs", None, IPField("sa", "0.0.0.0"), "numsrc") ]
+                 FieldListField("srcaddrs", [], IPField("sa", "0.0.0.0"), "numsrc") ]
   #show_indent=0
 #--------------------------------------------------------------------------
   def post_build(self, p, pay):