diff --git a/app/__init__.py b/app/__init__.py
index 23439845aaa857574243ca1486b807eb9f47aa33..2ef919da9436d4b7675c4e7276c97d8c5bd67a72 100644
--- a/app/__init__.py
+++ b/app/__init__.py
@@ -2,6 +2,7 @@
 
 # local imports
 from __future__ import print_function
+import vars
 
 # third-party imports
 import uuid
@@ -21,9 +22,9 @@ def create_app(config_name):
             session['uid']=str(uuid.uuid4())
 
         if "redir" in request.args and 'return_url' not in session: # check for redir arg in url
-            session['return_url'] = request.args.get("redir") or "/pun/sys/dashboard"
+            session['return_url'] = request.args.get("redir") or vars.default_referrer or request.referrer
 
-        return render_template('auth/SignUp.html', room_id=session['uid'])
+        return render_template('auth/SignUp.html', room_id=session['uid'], referrer=session['return_url'])
 
     # misc page error catching
     @app.errorhandler(403)
diff --git a/app/templates/auth/SignUp.html b/app/templates/auth/SignUp.html
index 617b08332d691c691fd3be65bc15dd6759b6444b..891a09a663e1b0ed49f4d0bd2a13840cd8371f2c 100644
--- a/app/templates/auth/SignUp.html
+++ b/app/templates/auth/SignUp.html
@@ -11,23 +11,26 @@
     var socket = io.connect('http://' + document.domain + ':' + location.port);
 
     socket.on( 'connect', function() {
-        socket.emit( 'join_room' )
+        socket.emit( 'join_room', {
+            referrer: '{{ referrer }}'
+        });
 
         socket.on( 'creating account', function( msg ) {
            document.getElementById("error").innerText = "";
            displayloading();
-        })
+        });
 
         socket.on( 'account ready', function( msg ) {
           $('#myModal').modal('hide');
           alert("Account has been created!");
-        })
+          window.location.replace('{{ referrer }}');
+        });
 
         socket.on( 'Account creation failed', function( msg ) {
           document.getElementById("error").innerText = "Registration Failed. Please try again.";
-        })
+        });
 
-    })
+    });
 </script>
 
   <style type="text/css">
diff --git a/run.py b/run.py
index 5f0bb8d916ddd0abfa1b69a1a31225dac1710978..9ed918fd038a911644475cb6f7255f745b1076e6 100644
--- a/run.py
+++ b/run.py
@@ -2,7 +2,6 @@
 
 import os
 import time
-import signal
 import tasks
 import vars
 
@@ -23,12 +22,15 @@ socketio = SocketIO(app, message_queue= vars.message_queue)
 def socket_connect():
     pass
 
+
 @socketio.on('join_room')
-def on_room():
+def on_room(json):
 
     room = str(session['uid'])
+    referrer = json['referrer']
     join_room(room)
     print('\t\t\t|-----Room ID: ' + room)
+    print('\t\t\t|-----Referrer: ' + referrer)
 
 
 @socketio.on('request account')
diff --git a/tasks.py b/tasks.py
index e380c9cfdbffe7ca02d9dc36252b83845b6480c8..7deec3a983efced1851970ae9359b17d211862ae 100644
--- a/tasks.py
+++ b/tasks.py
@@ -12,10 +12,12 @@ celery = Celery('flask_user_reg', broker=broker_url)
 
 socketio = SocketIO(message_queue=vars.message_queue)
 
+
 def send_msg(event, room):
    print("Post '{}' to room '{}'".format(event,room))
    socketio.emit(event, room=room)
 
+
 @celery.task
 def celery_create_account(username, fullname, reason, session):
     room = session
diff --git a/vars.py b/vars.py
index 6d94b575576d681038412710f250ff3afd6db43f..988ed189b5e50a07f975d42ca46ab92e9b693ab0 100644
--- a/vars.py
+++ b/vars.py
@@ -3,3 +3,4 @@ password = 'reggie'
 key = 'vnkdjnfjknfl1232'
 broker_url =  'amqp://' + id + ':' + password + '@ohpc:5672/'
 message_queue =  broker_url + 'socketio'
+default_referrer = "https://docs.uabgrid.uab.edu/wiki/Cheaha_Quick_Start"