diff --git a/fda-ui/layouts/default.vue b/fda-ui/layouts/default.vue
index 9023fb63f276462d5b49ede81b48dc7a51d60592..63c821f9eed411adbe629b3af998f1f07b0c4cd0 100644
--- a/fda-ui/layouts/default.vue
+++ b/fda-ui/layouts/default.vue
@@ -75,7 +75,7 @@
         v-if="!token"
         class="mr-2"
         color="secondary"
-        to="/login">
+        @click="login">
         <v-icon left>mdi-login</v-icon> Login
       </v-btn>
       <v-btn
@@ -262,6 +262,10 @@ export default {
         subtitle: item.item.description
       }
     },
+    login () {
+      let redirect = ![undefined ,'/', '/login'].includes(this.$router.currentRoute.path)
+      this.$router.push({ path: '/login', query: redirect ? { redirect: this.$router.currentRoute.path } : {}})
+    },
     navigate (item) {
       this.$router.push(this.metadata(item).link)
     },
diff --git a/fda-ui/pages/login.vue b/fda-ui/pages/login.vue
index 07539ffc0f51a7b1766c21b04db7cec1b7bd1371..b9b82425b216eb84ac34d9bedfbdef1765e72778 100644
--- a/fda-ui/pages/login.vue
+++ b/fda-ui/pages/login.vue
@@ -96,7 +96,7 @@ export default {
         delete user.token
         this.$store.commit('SET_USER', user)
         this.$toast.success('Welcome back!')
-        this.$router.push('/container')
+        this.$router.push(this.$route.query.redirect ?  this.$route.query.redirect : '/container')
       } catch (err) {
         if (err.response !== undefined && err.response.status !== undefined) {
           if (err.response.status === 418) {