diff --git a/src/main/java/org/olat/dispatcher/DMZDispatcher.java b/src/main/java/org/olat/dispatcher/DMZDispatcher.java
index 4a7deb6ebdc22cd0766b63b26276ae7ebeb9210f..51e0b38c0a05ee537066110d52a5d9e7b15485f2 100644
--- a/src/main/java/org/olat/dispatcher/DMZDispatcher.java
+++ b/src/main/java/org/olat/dispatcher/DMZDispatcher.java
@@ -294,12 +294,8 @@ public class DMZDispatcher implements Dispatcher {
 			canRedirect = false;
 		} else if(StringHelper.containsNonWhitespace(request.getParameter("logout"))) {
 			canRedirect = false;
-		} else if(oauthModule.isAdfsRootEnabled()) {
-			if(oauthModule.getRootProvider() != null) {
-				canRedirect = true;
-			} else {
-				canRedirect = false;
-			}
+		} else if(oauthModule.getRootProvider() != null) {
+			canRedirect = true;
 		} else {
 			canRedirect = false;
 		}
diff --git a/src/main/java/org/olat/login/oauth/OAuthLoginModule.java b/src/main/java/org/olat/login/oauth/OAuthLoginModule.java
index 9c4865547c3b5e1c560e27b405ac80b7c8e8f752..afbadd2407986f8218ff2350790ec6780a361a86 100644
--- a/src/main/java/org/olat/login/oauth/OAuthLoginModule.java
+++ b/src/main/java/org/olat/login/oauth/OAuthLoginModule.java
@@ -24,7 +24,6 @@ import java.util.List;
 
 import org.olat.core.configuration.AbstractSpringModule;
 import org.olat.core.util.coordinate.CoordinatorManager;
-import org.olat.login.oauth.spi.ADFSProvider;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -142,10 +141,8 @@ public class OAuthLoginModule extends AbstractSpringModule {
 		OAuthSPI rootSpi = null;
 		if(oauthSPIs != null) {
 			for(OAuthSPI spi:oauthSPIs) {
-				if(spi.isEnabled() && spi instanceof ADFSProvider) {
-					if(adfsRootEnabled) {
-						rootSpi = spi;
-					}
+				if(spi.isEnabled() && spi.isRootEnabled()) {
+					rootSpi = spi;
 				}
 			}
 		}
diff --git a/src/main/java/org/olat/login/oauth/OAuthSPI.java b/src/main/java/org/olat/login/oauth/OAuthSPI.java
index 24fa61f9590a8ee6bb713597e29e40507e36275b..b0b2513e13553489a36d4f9c54f1e4e938699a9f 100644
--- a/src/main/java/org/olat/login/oauth/OAuthSPI.java
+++ b/src/main/java/org/olat/login/oauth/OAuthSPI.java
@@ -37,6 +37,8 @@ public interface OAuthSPI extends ConfigOnOff {
 	
 	public String getName();
 	
+	public boolean isRootEnabled();
+	
 	/**
 	 * Limit of 8 characters
 	 * @return
diff --git a/src/main/java/org/olat/login/oauth/spi/ADFSProvider.java b/src/main/java/org/olat/login/oauth/spi/ADFSProvider.java
index 13c3062dfa9fae2633b42f4c45ca410c6afa325f..b9fd717b3ce48e3d95088db9443917ddf6fc68c9 100644
--- a/src/main/java/org/olat/login/oauth/spi/ADFSProvider.java
+++ b/src/main/java/org/olat/login/oauth/spi/ADFSProvider.java
@@ -52,6 +52,11 @@ public class ADFSProvider implements OAuthSPI {
 		return oauthModule.isAdfsEnabled();
 	}
 
+	@Override
+	public boolean isRootEnabled() {
+		return oauthModule.isAdfsRootEnabled();
+	}
+
 	@Override
 	public Class<? extends Api> getScribeProvider() {
 		return ADFSApi.class;
diff --git a/src/main/java/org/olat/login/oauth/spi/FacebookProvider.java b/src/main/java/org/olat/login/oauth/spi/FacebookProvider.java
index 1d1635075fb6d693ee05e2e8010a3145311dedce..6c07c713331dfbf1e6849196a97612ee4d71447c 100644
--- a/src/main/java/org/olat/login/oauth/spi/FacebookProvider.java
+++ b/src/main/java/org/olat/login/oauth/spi/FacebookProvider.java
@@ -56,6 +56,11 @@ public class FacebookProvider implements OAuthSPI {
 		return oauthModule.isFacebookEnabled();
 	}
 
+	@Override
+	public boolean isRootEnabled() {
+		return false;
+	}
+
 	@Override
 	public Class<? extends Api> getScribeProvider() {
 		return FacebookApi.class;
diff --git a/src/main/java/org/olat/login/oauth/spi/Google2Provider.java b/src/main/java/org/olat/login/oauth/spi/Google2Provider.java
index 8d6d49cb4d9a5f5ef7543be4e612d7782b67940a..88828199e1fec9049a5b8897fa5d2021e420aa25 100644
--- a/src/main/java/org/olat/login/oauth/spi/Google2Provider.java
+++ b/src/main/java/org/olat/login/oauth/spi/Google2Provider.java
@@ -54,6 +54,11 @@ public class Google2Provider implements OAuthSPI {
 	public boolean isEnabled() {
 		return oauthModule.isGoogleEnabled();
 	}
+	
+	@Override
+	public boolean isRootEnabled() {
+		return false;
+	}
 
 	@Override
 	public Class<? extends Api> getScribeProvider() {
diff --git a/src/main/java/org/olat/login/oauth/spi/LinkedInProvider.java b/src/main/java/org/olat/login/oauth/spi/LinkedInProvider.java
index c86fb72596e871c8d6642d81142390e337524428..0864f2be188e697713cf73b8f0c683b9c9adb20f 100644
--- a/src/main/java/org/olat/login/oauth/spi/LinkedInProvider.java
+++ b/src/main/java/org/olat/login/oauth/spi/LinkedInProvider.java
@@ -66,6 +66,11 @@ public class LinkedInProvider implements OAuthSPI {
 	public boolean isEnabled() {
 		return oauthModule.isLinkedInEnabled();
 	}
+	
+	@Override
+	public boolean isRootEnabled() {
+		return false;
+	}
 
 	@Override
 	public String getName() {
diff --git a/src/main/java/org/olat/login/oauth/spi/TwitterProvider.java b/src/main/java/org/olat/login/oauth/spi/TwitterProvider.java
index 2203c4c743252f20c151e4d55f20eb31faa36298..56c1653607fd3acbda6f2c1895ec8d08816eacdf 100644
--- a/src/main/java/org/olat/login/oauth/spi/TwitterProvider.java
+++ b/src/main/java/org/olat/login/oauth/spi/TwitterProvider.java
@@ -55,6 +55,11 @@ public class TwitterProvider implements OAuthSPI {
 	public boolean isEnabled() {
 		return oauthModule.isTwitterEnabled();
 	}
+	
+	@Override
+	public boolean isRootEnabled() {
+		return false;
+	}
 
 	@Override
 	public Class<? extends Api> getScribeProvider() {