diff --git a/src/main/java/no/nibio/vips/logic/controller/servlet/NotificationSubscriptionController.java b/src/main/java/no/nibio/vips/logic/controller/servlet/NotificationSubscriptionController.java
index d0cd5c29532f496e217a588ab949a7f896fe7aaa..64a65fe4e44f3d8aafca28d41407b42eceb86efe 100755
--- a/src/main/java/no/nibio/vips/logic/controller/servlet/NotificationSubscriptionController.java
+++ b/src/main/java/no/nibio/vips/logic/controller/servlet/NotificationSubscriptionController.java
@@ -20,6 +20,8 @@ package no.nibio.vips.logic.controller.servlet;
 
 import freemarker.core.ParseException;
 import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 import java.util.List;
 import javax.ejb.EJB;
 import javax.persistence.EntityManager;
@@ -80,7 +82,12 @@ public class NotificationSubscriptionController extends HttpServlet {
         
         String action = request.getParameter("action");
         VipsLogicUser user = (VipsLogicUser) request.getSession().getAttribute("user");
-        
+        if(user == null)
+        {
+            this.redirectToLogin(request, response);
+            return;
+        }
+
         try
         {
             // Default: View list of user subscriptions
@@ -173,6 +180,13 @@ public class NotificationSubscriptionController extends HttpServlet {
         }
     }
 
+    private void redirectToLogin(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException, IOException
+    {
+        String nextPage = ServletUtil.getFullRequestURI(request);
+        String nextPageDirective= "?nextPage=" + URLEncoder.encode(nextPage, "UTF-8");
+        response.sendRedirect(Globals.PROTOCOL + "://" + ServletUtil.getServerName(request) + "/login" + nextPageDirective);
+    }
+
     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
     /**
      * Handles the HTTP <code>GET</code> method.