diff --git a/src/packet/DNS.py b/src/packet/DNS.py
index ce8fb303f111c18a04caeb9c4abb6c462e696e73..52ebe42704e818ccc336317a0682677ec45b3cf8 100644
--- a/src/packet/DNS.py
+++ b/src/packet/DNS.py
@@ -76,10 +76,13 @@ class DNS(Packet):
         # Field is query name
         elif field == "qname" and question_record is not None:
             old_value = question_record.getfieldval("qname")
+            suffix = old_value[-1]
+            old_value_trimmed = old_value[:-1]
             # Randomly change one character in query name
-            new_value = old_value
-            while new_value == old_value:
-                new_value = Packet.bytes_edit_char(old_value)
+            new_value_trimmed = old_value_trimmed
+            while new_value_trimmed == old_value_trimmed:
+                new_value_trimmed = Packet.bytes_edit_char(old_value_trimmed)
+            new_value = new_value_trimmed + bytes(chr(suffix), "utf-8")
             question_record.setfieldval("qname", new_value)
         
         # Update checksums