diff --git a/scapy/layers/inet6.py b/scapy/layers/inet6.py
index 03b80ecb4dbc7e47df0ce97b857778c6b2a5ddcb..957e610521b41c43cc37229f9a53962700ed5685 100644
--- a/scapy/layers/inet6.py
+++ b/scapy/layers/inet6.py
@@ -1352,7 +1352,9 @@ class ICMPv6MLQuery(_ICMPv6ML): # RFC 2710
     overload_fields = {IPv6: { "dst": "ff02::1", "hlim": 1, "nh": 58 }} 
     def hashret(self):
         if self.mladdr != "::":
-            return struct.pack("HH",self.mladdr)+self.payload.hashret()
+            return (
+                inet_pton(socket.AF_INET6, self.mladdr) + self.payload.hashret()
+            )
         else:
             return self.payload.hashret()