#Issue2835: Correct an infinite recursion in webbrowser.open(), when KDE Konqueror is tried.
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index a028df0..4772adc 100644
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -347,7 +347,8 @@
         else:
             action = "openURL"
 
-        devnull = open(os.devnull, "r+")
+        import io
+        devnull = io.open(os.devnull, "r+")
         # if possible, put browser in separate process group, so
         # keyboard interrupts don't affect browser as well as Python
         setsid = getattr(os, 'setsid', None)
diff --git a/Misc/NEWS b/Misc/NEWS
index e40844e..3f0b4a9 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -25,6 +25,8 @@
 Library
 -------
 
+- Issue 2865: webbrowser.open() works again in a KDE environment.
+
 - The multifile module has been removed.
 
 - The SocketServer module has been renamed to socketserver.