diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index fb4d9a6..0ad20d3 100644
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -75,7 +75,7 @@
         def __init__(self, cmd):
             self.command = cmd
 
-        def open(self, url, new=0):
+        def open(self, url, new=0, autoraise=1):
             os.system(self.command % url)
 
         def open_new(self, url):	# Deprecated.  May be removed in 2.1.
@@ -151,7 +151,7 @@
                         rc = os.system(cmd)
                     return not rc
 
-                def open(self, url, new=1):
+                def open(self, url, new=1, autoraise=1):
                     # XXX Currently I know no way to prevent KFM from opening a new win.
                     self._remote("openURL %s" % url)
 
@@ -199,7 +199,7 @@
                     s.close()
                     return 1
 
-                def open(self, url, new=0):
+                def open(self, url, new=0, autoraise=1):
                     if new:
                         self._remote("LOADNEW " + url)
                     else:
@@ -220,7 +220,7 @@
     _tryorder = ("netscape", "windows-default")
 
     class WindowsDefault:
-        def open(self, url, new=0):
+        def open(self, url, new=0, autoraise=1):
             os.startfile(url)
 
         def open_new(self, url):        # Deprecated.  May be removed in 2.1.
@@ -238,7 +238,7 @@
     pass
 else:
     class InternetConfig:
-        def open(self, url, new=0):
+        def open(self, url, new=0, autoraise=1):
             ic.launchurl(url)
 
         def open_new(self, url):        # Deprecated.  May be removed in 2.1.
