diff --git a/lib/master.pike.in b/lib/master.pike.in
index 1cefeb6c970aa233409c2d41321f58a1ff18771d..0bf8e4cbe8106b1677fa7aeb67dab042bda9f9ff 100644
--- a/lib/master.pike.in
+++ b/lib/master.pike.in
@@ -3395,11 +3395,7 @@ void _main(array(string(0..255)) orig_argv)
 
 	program prog;
 	mixed compile_err = catch {;
-	  if(cur_compat_ver <= Version(7,4))
-	    prog = compile_string(
-	      "mixed create(int argc, array(string) argv,array(string) env){"+
-	      opts[1]+";}");
-	  else if (intp (opts[1]))
+	  if (intp (opts[1]))
 	    prog = compile_string ("mixed run() {}");
 	  else {
 	    string code = opts[1];
@@ -3437,9 +3433,7 @@ void _main(array(string(0..255)) orig_argv)
 	    // eval_instruction in interpret.c so that the debug and
 	    // trace levels set above take effect in the bytecode
 	    // evaluator.
-	    if(cur_compat_ver <= Version(7,4))
-	      prog (sizeof(argv),argv,getenv());
-	    else if (cur_compat_ver <= Version (7, 6))
+	    if (cur_compat_ver <= Version (7, 6))
 	      ret = prog()->run(sizeof(argv),argv,getenv());
 	    else
 	      ret = prog()->run(sizeof(argv),argv);
@@ -3587,12 +3581,7 @@ void _main(array(string(0..255)) orig_argv)
       // Note that it won't work if there's another catch surrounding
       // this one.
       object script;
-      if(cur_compat_ver <= Version(7,4)) {
-	script=prog();
-      }
-      else {
-	script=prog(argv);
-      }
+      script=prog(argv);
       if(!script->main)
 	error("Error: %s has no main().\n", argv[0]);
       if (cur_compat_ver <= Version (7, 6))
diff --git a/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike b/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike
index 050b66931bdde28ee9e6e1012347e742fd281a8b..fa1d6e7628cef955a742a011f6d9634d50fe065a 100644
--- a/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike
+++ b/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike
@@ -873,13 +873,8 @@ protected void release_monitor(Monitor m)
 {
   m->next_poll = -1000;
   monitor_queue->adjust(m);
-  while (monitor_queue->peek() < 0) {
-#if __VERSION__ < 7.8
-    monitor_queue->top();
-#else
+  while (monitor_queue->peek() < 0)
     monitor_queue->pop();
-#endif
-  }
 }
 
 //! Create a new @[Monitor] for a @[path].
diff --git a/lib/modules/Parser.pmod/XML.pmod/Tree.pmod b/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
index 25325f0a22c3c3175498353a9cec7e7b40278ab1..37752adf025c081e7956c3e7c2dd7955f0943928 100644
--- a/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
+++ b/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
@@ -1453,9 +1453,6 @@ class WrappedSimple
 {
   inherit .Simple;
 
-#if (__REAL_VERSION__ > 7.65)
-  // CMOD-based xml parser ==> we can overload internal functions.
-
   string lookup_entity(string entity)
   {
     string ret = ::lookup_entity(entity);
@@ -1468,7 +1465,6 @@ class WrappedSimple
     werror("define_entity_raw(%O, %O)\n", entity, raw);
     ::define_entity_raw(entity, raw);
   }
-#endif
 }
 
 //! Mixin for parsing XML.
diff --git a/lib/modules/Search.pmod/Filter.pmod/HTML.pmod b/lib/modules/Search.pmod/Filter.pmod/HTML.pmod
index 0a9e00da64a0ab06341d7acc18dd34574b12d4ee..1c4d0eb9bf76a0fbc857d8bbbf89a019df2d7baa 100644
--- a/lib/modules/Search.pmod/Filter.pmod/HTML.pmod
+++ b/lib/modules/Search.pmod/Filter.pmod/HTML.pmod
@@ -41,19 +41,7 @@ protected void create() {
   constant ignore_tags = ({ "script", "style", });
   parser->add_containers(mkmapping(ignore_tags, ({""})*sizeof(ignore_tags)));
 
-#if __VERSION__ > 7.4
   cleaner = Parser.html_entity_parser(1);
-#else
-  cleaner = Parser.html_entity_parser();
-  cleaner->_set_entity_callback(
-	   lambda(Parser.HTML p,string ent)
-	   {
-	     string chr = Parser.decode_numeric_xml_entity(p->tag_name());
-	     if (!chr)
-	       return 0;
-	     return ({chr});
-	   });
-#endif
   cleaner->case_insensitive_tag(1);
   cleaner->lazy_entity_end(1);
   cleaner->ignore_unknown(1);