--- /dev/null
+--- a/output.h
++++ b/output.h
+@@ -226,6 +226,10 @@
+ void printscriptresults(ScriptResults *scriptResults, stype scantype);
+
+ void printhostscriptresults(Target *currenths);
++
++/*This is a helper function to determine the ordering of the script results
++ based on their id */
++bool comparescriptids(ScriptResult first, ScriptResult second);
+ #endif
+
+ /* Print a table with traceroute hops. */
+@@ -253,8 +257,4 @@
+ were found. */
+ void printdatafilepaths();
+
+-/*This is a helper function to determine the ordering of the script results
+- based on their id */
+-bool comparescriptids(ScriptResult first, ScriptResult second);
+-
+ #endif /* OUTPUT_H */
+--- a/output.cc
++++ b/output.cc
+@@ -2613,6 +2613,7 @@
+ }
+ }
+
++#ifndef NOLUA
+ /*This is a helper function to determine the ordering of the script results
+ based on their id */
+ bool comparescriptids(ScriptResult first, ScriptResult second){
+@@ -2625,5 +2626,6 @@
+ else
+ return false;
+ }
++#endif
+
+
+--- a/portlist.cc
++++ b/portlist.cc
+@@ -144,6 +144,7 @@
+ }
+ }
+
++#ifndef NOLUA
+ void Port::freeScriptResults(void)
+ {
+ while (!scriptResults.empty()) {
+@@ -151,6 +152,7 @@
+ scriptResults.pop_front();
+ }
+ }
++#endif
+
+ /* Fills in namebuf (as long as there is space in buflen) with the
+ Name nmap normal output will use to describe the port. This takes
+--- a/Target.cc
++++ b/Target.cc
+@@ -162,10 +162,12 @@
+
+ Target::~Target() {
+ FreeInternal();
++#ifndef NOLUA
+ while (!scriptResults.empty()) {
+ scriptResults.front().clear();
+ scriptResults.pop_front();
+ }
++#endif
+ }
+
+ void Target::FreeInternal() {