diff --git a/dat/missions/emp_collective05.lua b/dat/missions/emp_collective05.lua
new file mode 100644
index 0000000..e69de29
diff --git a/scripts/ai/noidle.lua b/scripts/ai/noidle.lua
new file mode 100644
index 0000000..8a40ca5
--- /dev/null
+++ b/scripts/ai/noidle.lua
@@ -0,0 +1,5 @@
+include("../scripts/ai/tpl/generic.lua")
+
+-- No idle function, ship won't react until it detects enemies.
+function idle()
+end
diff --git a/src/lephisto.c b/src/lephisto.c
index 8520d0e..5ab05fd 100644
--- a/src/lephisto.c
+++ b/src/lephisto.c
@@ -548,7 +548,7 @@ static void data_name(void) {
       strncpy(dataname, xml_get(node), DATA_NAME_LEN);
       dataname[DATA_NAME_LEN-1] = '\0';
     }
-  } while((node = node->next));
+  } while(xml_nextNode(node));
 
   xmlFreeDoc(doc);
   free(buf);