--- 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() {
