diff --git a/Doc/tools/mkhowto b/Doc/tools/mkhowto
index 043ac57..e7510b9 100755
--- a/Doc/tools/mkhowto
+++ b/Doc/tools/mkhowto
@@ -94,7 +94,6 @@
     ALL_FORMATS = ("dvi", "html", "pdf", "ps", "text")
 
     def __init__(self):
-        self.config_files = []
         self.formats = []
 
     def __getitem__(self, key):
@@ -107,7 +106,7 @@
     def parse(self, args):
         opts, args = getopt.getopt(args, "Hi:a:s:lDkqr:",
                                    ["all", "postscript", "help", "iconserver=",
-                                    "address=", "a4", "l2h-config=", "letter",
+                                    "address=", "a4", "letter",
                                     "link=", "split=", "logging", "debugging",
                                     "keep", "quiet", "runs=", "image-type=",
                                     "about=", "numeric"]
@@ -126,8 +125,6 @@
                 self.paper = "a4"
             elif opt == "--letter":
                 self.paper = "letter"
-            elif opt == "--l2h-config":
-                self.config_files.append(arg)
             elif opt == "--link":
                 self.max_link_depth = int(arg)
             elif opt in ("-s", "--split"):
@@ -370,12 +367,6 @@
                  "$NO_AUTO_LINK = 1;\n"
                  )
         options = self.options
-        for fn in options.config_files:
-            fp.write(open(fn).read())
-            fp.write("\n"
-                     "\n"
-                     'print "\nInitializing from file: %s\";\n\n'
-                     % string_to_perl(fn))
         l2hoption(fp, "ABOUT_FILE", options.about_file)
         l2hoption(fp, "ICONSERVER", options.icon_server)
         l2hoption(fp, "IMAGE_TYPE", options.image_type)
