diff --git a/src/router/index.js b/src/router/index.js
index 44952f13e32ea6a00b992f9b4465bc80a84569b0..d92b0993c2def22310e69ab1ccb0425911fe708e 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -4,33 +4,53 @@ import HomeView from "../views/HomeView.vue";
 import LoginView from "../views/LoginView.vue";
 import NewPasswordView from "../views/NewPasswordView";
 
+/**
+ * Guards routes. If token is null, no user is logged in and only the
+ * login page and the register page will be accessible.
+ *
+ * Legg denne metoden i login component for å nullstille token, har ikke logg ut metode ennå
+ * så må nullstilles på denne måten.
+ * beforeMount() {
+    console.log("Token: " + this.$store.state.user.token);
+    this.$store.commit("logout");
+    console.log("Token etter: " + this.$store.state.user.token);
+  }
+ *
+ */
+function guardRoute(to, from, next) {
+  var isAuthenticated = false;
+  if (store.state.user.token != null) isAuthenticated = true;
+  else isAuthenticated = false;
+  if (isAuthenticated) {
+    next(); // allow to enter route
+  } else {
+    next("/login"); // go to '/login';
+  }
+}
+
 const routes = [
   {
     path: "/", //Endre før push
     name: "home",
+    beforeEnter: guardRoute,
     component: HomeView,
   },
   {
     path: "/about",
     name: "about",
+    beforeEnter: guardRoute,
     component: () => import("../views/AboutView.vue"),
   },
   {
     path: "/profile/:id",
     name: "profile",
     component: () => import("../views/ProfileView.vue"),
-    beforeEnter: () => {
-      if (store.state.user.token == null) router.push("login");
-    },
+    beforeEnter: guardRoute,
   },
   {
     path: "/register",
     name: "register",
-    // route level code-splitting
-    // this generates a separate chunk (register.[hash].js) for this route
-    // which is lazy-loaded when the route is visited.
-    component: () =>
-      import(/* webpackChunkName: "register" */ "../views/RegisterView.vue"),
+    component: () => import("../views/RegisterView.vue"),
   },
   {
     path: "/login",
@@ -41,21 +61,25 @@ const routes = [
     path: "/newPassword",
     name: "newPassword",
     component: NewPasswordView,
+    beforeEnter: guardRoute,
   },
   {
     path: "/searchItemList",
     name: "searchItemList",
     component: () => import("../views/SearchItemListView.vue"),
+    beforeEnter: guardRoute,
   },
   {
     path: "/createNewGroup",
     name: "createNewGroup",
     component: () => import("../views/CreateNewGroupView.vue"),
+    beforeEnter: guardRoute,
   },
   {
     path: "/addNewItem",
     name: "addNewItem",
     component: () => import("../views/AddNewItemView.vue"),
+    beforeEnter: guardRoute,
   },
 ];