diff --git a/IPython/html/notebookapp.py b/IPython/html/notebookapp.py
index 7f8f390d5..206473cfb 100644
--- a/IPython/html/notebookapp.py
+++ b/IPython/html/notebookapp.py
@@ -590,9 +590,14 @@ class NotebookApp(BaseIPythonApplication):
break
# restore the monekypatch
socket.AI_ADDRCONFIG = saved_AI_ADDRCONFIG
- if e.errno != errno.EADDRINUSE:
+ if e.errno == errno.EADDRINUSE:
+ self.log.info('The port %i is already in use, trying another random port.' % port)
+ continue
+ elif e.errno in (errno.EACCES, getattr(errno, 'WSAEACCES', errno.EACCES)):
+ self.log.warn("Permission to listen on port %i denied" % port)
+ continue
+ else:
raise
- self.log.info('The port %i is already in use, trying another random port.' % port)
else:
self.port = port
success = True