diff --git a/IPython/frontend/html/notebook/notebookapp.py b/IPython/frontend/html/notebook/notebookapp.py
index 6f588ea..25ca0b4 100644
--- a/IPython/frontend/html/notebook/notebookapp.py
+++ b/IPython/frontend/html/notebook/notebookapp.py
@@ -551,10 +551,11 @@ class NotebookApp(BaseIPythonApplication):
 
         if self.open_browser or self.file_to_run:
             ip = self.ip or '127.0.0.1'
-            if self.browser:
-                browser = webbrowser.get(self.browser)
-            else:
-                browser = webbrowser.get()
+            try:
+                browser = webbrowser.get(self.browser or None)
+            except webbrowser.Error as e:
+                self.log.warn('No web browser found: %s.' % e)
+                browser = None
 
             if self.file_to_run:
                 filename, _ = os.path.splitext(os.path.basename(self.file_to_run))
@@ -566,10 +567,10 @@ class NotebookApp(BaseIPythonApplication):
                     url = ''
             else:
                 url = ''
-            b = lambda : browser.open("%s://%s:%i%s%s" % (proto, ip,
-                                        self.port, self.base_project_url, url),
-                                    new=2)
-            threading.Thread(target=b).start()
+            if browser:
+                b = lambda : browser.open("%s://%s:%i%s%s" % (proto, ip,
+                    self.port, self.base_project_url, url), new=2)
+                threading.Thread(target=b).start()
         try:
             ioloop.IOLoop.instance().start()
         except KeyboardInterrupt: