diff --git a/include/client/login.inc.php b/include/client/login.inc.php
index 806560464ab7d29ae780c0dc50e8223c1f700583..c4b865d2e9e65cf9ed771676909abb89b0f4e075 100644
--- a/include/client/login.inc.php
+++ b/include/client/login.inc.php
@@ -12,7 +12,7 @@ $content = Page::lookup(Page::getIdByType('registration-policy'));
 <form action="login.php" method="post" id="clientLogin">
     <?php csrf_token(); ?>
 <div style="display:table-row">
-    <div style="width:40%;display:table-cell">
+    <div style="width:40%;display:table-cell;box-shadow: 12px 0 15px -15px rgba(0,0,0,0.4);padding-left: 2em;">
     <strong><?php echo Format::htmlchars($errors['login']); ?></strong>
     <br>
     <div>
@@ -27,11 +27,11 @@ $content = Page::lookup(Page::getIdByType('registration-policy'));
         <input class="btn" type="submit" value="Sign In">
     </p>
     </div>
+    <div style="display:table-cell;padding-left: 2em;">
 <?php if ($cfg && $cfg->isClientRegistrationEnabled()) { ?>
-    <div style="display:table-cell;box-shadow: -9px 0 15px -12px rgba(0,0,0,0.3);padding-left: 2em;">
         Not yet registered? <a href="account.php?do=create">Create an account</a>
-    </div>
 <?php } ?>
+    </div>
 </div>
 </form>
 <br>
diff --git a/login.php b/login.php
index 4751f74976b550827221ebcf7292b1d5b72bda24..7e7e35cd6b0a5769bb8e006f9f95ad306fb0e34c 100644
--- a/login.php
+++ b/login.php
@@ -30,15 +30,16 @@ if ($_POST) {
         $errors['err'] = 'Valid username or email address is required';
     elseif (($user = UserAuthenticationBackend::process($_POST['luser'],
             $_POST['lpasswd'], $errors))) {
-        Http::redirect('tickets.php');
-        $_POST = null;
+        Http::redirect($_SESSION['_client']['auth']['dest'] ?: 'tickets.php');
     } elseif(!$errors['err']) {
         $errors['err'] = 'Invalid email or ticket number - try again!';
     }
 }
 
-$nav = new UserNav();
-$nav->setActiveNav('status');
+if (!$nav) {
+    $nav = new UserNav();
+    $nav->setActiveNav('status');
+}
 require CLIENTINC_DIR.'header.inc.php';
 require CLIENTINC_DIR.$inc;
 require CLIENTINC_DIR.'footer.inc.php';
diff --git a/open.php b/open.php
index 719f35cc882b4f46a1eed46a865846c47fe771f7..6bcecf5e513ca0fa3f1457cb3b3319818e8cb894 100644
--- a/open.php
+++ b/open.php
@@ -17,7 +17,7 @@ require('client.inc.php');
 define('SOURCE','Web'); //Ticket source.
 $ticket = null;
 $errors=array();
-if($_POST):
+if ($_POST) {
     $vars = $_POST;
     $vars['deptId']=$vars['emailId']=0; //Just Making sure we don't accept crap...only topicId is expected.
     if ($thisclient) {
@@ -60,10 +60,14 @@ if($_POST):
     }else{
         $errors['err']=$errors['err']?$errors['err']:'Unable to create a ticket. Please correct errors below and try again!';
     }
-endif;
+}
 
 //page
 $nav->setActiveNav('new');
+if ($cfg->isClientLoginRequired() && !$thisclient) {
+    require_once 'secure.inc.php';
+}
+
 require(CLIENTINC_DIR.'header.inc.php');
 if($ticket
         && (
@@ -76,9 +80,8 @@ if($ticket
                     array_fill(0, 3, 'XXXXXX'),
                     $page->getBody()
                     )));
-} elseif ($cfg->isClientLoginRequired() && !$thisclient) {
-    require(CLIENTINC_DIR.'login.inc.php');
-} else {
+}
+else {
     require(CLIENTINC_DIR.'open.inc.php');
 }
 require(CLIENTINC_DIR.'footer.inc.php');
diff --git a/secure.inc.php b/secure.inc.php
index bf6a75b3e032590ca6ec89346e50c67393fd5514..8a0116306ae0fd6d5c50168c6a85feba6e80e110 100644
--- a/secure.inc.php
+++ b/secure.inc.php
@@ -20,7 +20,9 @@ require_once('client.inc.php');
 //Client Login page: Ajax interface can pre-declare the function to trap logins.
 if(!function_exists('clientLoginPage')) {
     function clientLoginPage($msg ='') {
-        global $ost;
+        global $ost, $cfg, $nav;
+        $_SESSION['_client']['auth']['dest'] =
+            '/' . ltrim($_SERVER['REQUEST_URI'], '/');
         require('./login.php');
         exit;
     }
diff --git a/view.php b/view.php
index b8590aab4f5ddaa25f004123dbfcbae950965a2a..e4e143b8cd76ba1910558d7c9dee7b62ff24a4f1 100644
--- a/view.php
+++ b/view.php
@@ -23,6 +23,9 @@ $user =  UserAuthenticationBackend::processSignOn($errors);
 if ($user && $user->getTicketId())
     Http::redirect('tickets.php?id='.$user->getTicketId());
 
+$nav = new UserNav();
+$nav->setActiveNav('status');
+
 //Simply redirecting to tickets.php until multiview is implemented.
 require('tickets.php');
 ?>