diff --git a/web/src/main/java/lcsb/mapviewer/bean/UserBean.java b/web/src/main/java/lcsb/mapviewer/bean/UserBean.java
index d128701a146ca4567fad16b5a28c320b19bd965d..1b7a9aaa45e0ae153b6ff4109cc1804f8c8aef24 100644
--- a/web/src/main/java/lcsb/mapviewer/bean/UserBean.java
+++ b/web/src/main/java/lcsb/mapviewer/bean/UserBean.java
@@ -3,6 +3,7 @@ package lcsb.mapviewer.bean;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.io.IOException;
+import java.util.Calendar;
 import java.util.Map;
 
 import javax.faces.application.FacesMessage;
@@ -582,6 +583,11 @@ public class UserBean extends AbstractManagedBean {
 		if (authenticationToken == null) {
 			authenticationToken = getUserService().login(Configuration.ANONYMOUS_LOGIN, "");
 		}
+		Calendar now = Calendar.getInstance();
+		now.add(-1, Calendar.MINUTE);
+		if (authenticationToken.getExpires().after(now)) {
+			authenticationToken = getUserService().login(Configuration.ANONYMOUS_LOGIN, "");
+		}
 		return authenticationToken;
 	}