diff --git a/scapy.py b/scapy.py
index 5c7c316086a13c39dfe7816617759da660acc42b..23626a08bf6396009c0c52f879ef3a2158e1d802 100755
--- a/scapy.py
+++ b/scapy.py
@@ -4454,7 +4454,7 @@ class TCPOptionsField(StrField):
 
 class DNSStrField(StrField):
     def i2m(self, pkt, x):
-        x = x.split(".")
+        x = [k[:63] for k in x.split(".")] # Truncate chunks that cannont be encoded (more than 63 bytes..)
         x = map(lambda y: chr(len(y))+y, x)
         x = "".join(x)
         if x[-1] != "\x00":