diff --git a/bin/compile b/bin/compile
index 6a7ec5262610d0f993b70d1d742b8712aa4beb4c..ced5571db3b8b36db516df6e9c33502f65f835e1 100755
--- a/bin/compile
+++ b/bin/compile
@@ -95,6 +95,7 @@ import sys
 import urlparse
 urlparse.uses_netloc.append('postgres')
 urlparse.uses_netloc.append('mysql')
+
 try:
 
     # Check to make sure DATABASES is set in settings.py file.
@@ -103,17 +104,20 @@ try:
     if 'DATABASES' not in locals():
         DATABASES = {}
 
-    if 'DATABASE_URL' os.environ:
+    if 'DATABASE_URL' in os.environ:
         url = urlparse.urlparse(os.environ['DATABASE_URL'])
 
+        # Ensure default database exists.
+        DATABASES['default'] =  DATABASES.get('default', {})
+
         # We use update here to preserve other keys we
         # don't care about (like OPTIONS)
         DATABASES['default'].update({
-            'NAME':     url.path[1:],
-            'USER':     url.username,
+            'NAME': url.path[1:],
+            'USER': url.username,
             'PASSWORD': url.password,
-            'HOST':     url.hostname,
-            'PORT':     url.port,
+            'HOST': url.hostname,
+            'PORT': url.port,
         })
         if url.scheme == 'postgres':
             DATABASES['default']['ENGINE'] = 'django.db.backends.postgresql_psycopg2'
@@ -121,7 +125,7 @@ try:
         if url.scheme == 'mysql':
             DATABASES['default']['ENGINE'] = 'django.db.backends.mysql'
 except:
-    print "Unexpected error:", sys.exc_info()
+    print 'Unexpected error:', sys.exc_info()
 
 EOF
 fi