diff --git a/src/main/java/org/olat/shibboleth/ShibbolethDispatcher.java b/src/main/java/org/olat/shibboleth/ShibbolethDispatcher.java
index 40412c2749410499100e2c073239587bc78316c6..ae5069cd16090134f567cf2bd1573f031d13c4f6 100644
--- a/src/main/java/org/olat/shibboleth/ShibbolethDispatcher.java
+++ b/src/main/java/org/olat/shibboleth/ShibbolethDispatcher.java
@@ -55,6 +55,7 @@ import org.olat.core.logging.OLATRuntimeException;
 import org.olat.core.logging.OLATSecurityException;
 import org.olat.core.logging.OLog;
 import org.olat.core.logging.Tracing;
+import org.olat.core.logging.activity.ThreadLocalUserActivityLoggerInstaller;
 import org.olat.core.util.Util;
 import org.olat.core.util.WebappHelper;
 import org.olat.core.util.i18n.I18nModule;
@@ -144,6 +145,10 @@ public class ShibbolethDispatcher implements Dispatcher{
 			redirectToShibbolethRegistration(resp);
 			return;
 		}
+		if(ureq.getUserSession() != null) {
+			//re-init the activity logger
+			ThreadLocalUserActivityLoggerInstaller.initUserActivityLogger(req);
+		}
 		int loginStatus = AuthHelper.doLogin(auth.getIdentity(), ShibbolethDispatcher.PROVIDER_SHIB, ureq);
 		if (loginStatus != AuthHelper.LOGIN_OK) {
 			if (loginStatus == AuthHelper.LOGIN_NOTAVAILABLE) {