diff --git a/src/dehacked.c b/src/dehacked.c
index 513079e6e79b568c071b9de934d518e05826c94f..6013290efa2f84338b4db5538e57ea1eba7b12e8 100644
--- a/src/dehacked.c
+++ b/src/dehacked.c
@@ -998,7 +998,7 @@ static const struct {
 static void readlevelheader(MYFILE *f, INT32 num)
 {
 	char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL);
-	char *word = s;
+	char *word;
 	char *word2;
 	//char *word3; // Non-uppercase version of word2
 	char *tmp;
@@ -1027,6 +1027,9 @@ static void readlevelheader(MYFILE *f, INT32 num)
 			if (s == tmp)
 				continue; // Skip comment lines, but don't break.
 
+			// Set / reset word, because some things (Lua.) move it
+			word = s;
+
 			// Get the part before the " = "
 			tmp = strchr(s, '=');
 			*(tmp-1) = '\0';