diff --git a/data/interfaces/default/restart_bare.tmpl b/data/interfaces/default/restart_bare.tmpl
index 2e7ad405f0eb0180858c4464af7b4ac5cacb8ca1..150c3281f098014e1bee8f4c90eb01ad61f30814 100644
--- a/data/interfaces/default/restart_bare.tmpl
+++ b/data/interfaces/default/restart_bare.tmpl
@@ -1,9 +1,18 @@
 <script type="text/javascript" charset="utf-8">
 <!--
+#try:
+    #set curSBHost = $sbHost
+    #set curSBHttpPort = $sbHttpPort
+    #set curSBHttpsEnabled = $sbHttpsEnabled
+#except NameMapper.NotFound:
+    #set curSBHost = "localhost"
+    #set curSBHttpPort = $sickbeard.WEB_PORT
+    #set curSBHttpsEnabled = "False"
+#end try
 sbRoot = "$sbRoot";
-sbHttpPort = "$sbHttpPort";
-sbHttpsEnabled = "$sbHttpsEnabled";
-sbHost = "$sbHost";
+sbHttpPort = "$curSBHttpPort";
+sbHttpsEnabled = "$curSBHttpsEnabled";
+sbHost = "$curSBHost";
 //-->
 </script>
 
diff --git a/sickbeard/common.py b/sickbeard/common.py
index def5f0bf2f89eb22f94006029a9f160d84d05c73..895ca0531391511d4e92763e27ce0472b2969378 100644
--- a/sickbeard/common.py
+++ b/sickbeard/common.py
@@ -124,9 +124,9 @@ class Quality:
 
         checkName = lambda list, func: func([re.search(x, name, re.I) for x in list])
 
-        if checkName(["pdtv.xvid", "hdtv.xvid", "dsr.xvid", "hdtv.x264"], any) and not checkName(["720p", "1080p", "1080i"], any):
+        if checkName(["(pdtv|hdtv|dsr)\.(xvid|x264)"], all) and not checkName(["(720|1080)[pi]"], all):
             return Quality.SDTV
-        elif checkName(["dvdrip.xvid", "bdrip.xvid", "dvdrip.divx", "dvdrip.ws.xvid"], any) and not checkName(["720p"], all):
+        elif checkName(["(dvdrip|bdrip)(\.ws)?\.(xvid|divx|x264)"], any) and not checkName(["(720|1080)[pi]"], all):
             return Quality.SDDVD
         elif checkName(["720p", "hdtv", "x264"], all) or checkName(["hr.ws.pdtv.x264"], any):
             return Quality.HDTV
diff --git a/sickbeard/helpers.py b/sickbeard/helpers.py
index a0c6d47335053f22376c4f57535fdaed34ad4a46..f0178ca1213421bfbf311339f0358d9c5d6bc32e 100644
--- a/sickbeard/helpers.py
+++ b/sickbeard/helpers.py
@@ -503,7 +503,8 @@ def sanitizeSceneName (name, ezrss=False):
     return name
 
 def create_https_certificates(ssl_cert, ssl_key):
-    """ Create self-signed HTTPS certificares and store in paths 'ssl_cert' and 'ssl_key'
+    """
+    Create self-signed HTTPS certificares and store in paths 'ssl_cert' and 'ssl_key'
     """
     try:
         from OpenSSL import crypto #@UnresolvedImport
diff --git a/sickbeard/webserveInit.py b/sickbeard/webserveInit.py
index 58efbda7e17b82d902edbd751981a76ef3961c8d..b8c17c3bde7185a4e877552bb6642dacb5cb7c01 100644
--- a/sickbeard/webserveInit.py
+++ b/sickbeard/webserveInit.py
@@ -20,12 +20,12 @@
 import cherrypy.lib.auth_basic
 import os.path
 
+import sickbeard
+
 from sickbeard import logger
 from sickbeard.webserve import WebInterface
 
 from sickbeard.helpers import create_https_certificates
-from cherrypy import _cpserver
-from cherrypy import _cpwsgi_server
 
 def initWebServer(options = {}):
         options.setdefault('port',      8081)
@@ -80,10 +80,14 @@ def initWebServer(options = {}):
         if enable_https:
             # If either the HTTPS certificate or key do not exist, make some self-signed ones.
             if not (https_cert and os.path.exists(https_cert)) or not (https_key and os.path.exists(https_key)):
-                create_https_certificates(https_cert, https_key)
+                if not create_https_certificates(https_cert, https_key):
+                    logger.log(u"Unable to create cert/key files, disabling HTTPS")
+                    sickbeard.ENABLE_HTTPS = False
+                    enable_https = False
 
             if not (os.path.exists(https_cert) and os.path.exists(https_key)):
                 logger.log(u"Disabled HTTPS because of missing CERT and KEY files", logger.WARNING)
+                sickbeard.ENABLE_HTTPS = False
                 enable_https = False
 
         options_dict = {
@@ -92,13 +96,16 @@ def initWebServer(options = {}):
                         'log.screen':         False,
                         'error_page.401':     http_error_401_hander,
                         'error_page.404':     http_error_404_hander,
-            }
+        }
 
         if enable_https:
             options_dict['server.ssl_certificate'] = https_cert
             options_dict['server.ssl_private_key'] = https_key
+            protocol = "https"
+        else:
+            protocol = "http"
 
-        logger.log(u"Starting Sick Beard on http://" + str(options['host']) + ":" + str(options['port']) + "/")
+        logger.log(u"Starting Sick Beard on "+protocol+"://" + str(options['host']) + ":" + str(options['port']) + "/")
         cherrypy.config.update(options_dict)
 
         # setup cherrypy logging