diff --git a/src/main/java/org/olat/core/gui/control/_spring/sitedefContext.xml b/src/main/java/org/olat/core/gui/control/_spring/sitedefContext.xml
index 36537288afa5be660fa9f341eaabeb6c49f321ff..d434104b90903629b2788f7f9917b7263033c164 100644
--- a/src/main/java/org/olat/core/gui/control/_spring/sitedefContext.xml
+++ b/src/main/java/org/olat/core/gui/control/_spring/sitedefContext.xml
@@ -1,20 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="
-  http://www.springframework.org/schema/beans 
-  http://www.springframework.org/schema/beans/spring-beans.xsd">
-  
-	
-	<!-- OLAT sites -->
-	<bean id="olatsites" class="org.olat.core.gui.control.navigation.SiteDefinitions" init-method="init">
-		<property name="persistedProperties">
-		  <bean class="org.olat.core.configuration.PersistedProperties" scope="prototype" init-method="init" destroy-method="destroy">
-		    <constructor-arg index="0" ref="coordinatorManager"/>
-		    <constructor-arg index="1" ref="olatsites" />
-		  </bean>
-		</property>	
-	</bean>
+	xmlns:context="http://www.springframework.org/schema/context"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans 
+                        http://www.springframework.org/schema/beans/spring-beans.xsd
+                        http://www.springframework.org/schema/context 
+                        http://www.springframework.org/schema/context/spring-context.xsd">
+
+	<context:component-scan base-package="org.olat.core.gui.control.navigation" />
 	
 	<!-- classes implementing the SiteDefinition interface -->
 	
diff --git a/src/main/java/org/olat/core/gui/control/navigation/SiteDefinitions.java b/src/main/java/org/olat/core/gui/control/navigation/SiteDefinitions.java
index 053cfb421fd77510297b9671e454d1bae5f1c524..546b31729eb2e0c103ff353e1f386dc852e4d0d8 100644
--- a/src/main/java/org/olat/core/gui/control/navigation/SiteDefinitions.java
+++ b/src/main/java/org/olat/core/gui/control/navigation/SiteDefinitions.java
@@ -35,13 +35,16 @@ import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.olat.core.CoreSpringFactory;
-import org.olat.core.configuration.AbstractOLATModule;
-import org.olat.core.configuration.PersistedProperties;
+import org.olat.core.configuration.AbstractSpringModule;
+import org.olat.core.logging.OLog;
+import org.olat.core.logging.Tracing;
 import org.olat.core.util.StringHelper;
+import org.olat.core.util.coordinate.CoordinatorManager;
 import org.olat.core.util.xml.XStreamHelper;
 import org.olat.course.site.model.CourseSiteConfiguration;
 import org.olat.course.site.model.LanguageConfiguration;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 import com.thoughtworks.xstream.XStream;
 
@@ -55,7 +58,10 @@ import com.thoughtworks.xstream.XStream;
  * @author Felix Jost
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-public class SiteDefinitions extends AbstractOLATModule {
+@Service("olatsites")
+public class SiteDefinitions extends AbstractSpringModule {
+	
+	private static final OLog log = Tracing.createLoggerFor(SiteDefinitions.class);
 
 	private Map<String,SiteDefinition> siteDefMap;
 	private Map<String,SiteConfiguration> siteConfigMap = new ConcurrentHashMap<String,SiteConfiguration>();
@@ -74,6 +80,13 @@ public class SiteDefinitions extends AbstractOLATModule {
 		xStream.alias("siteconfig", SiteConfiguration.class);
 	}
 	
+	@Autowired
+	public SiteDefinitions(CoordinatorManager coordinatorManager) {
+		super(coordinatorManager);
+	}
+	
+	
+	
 	public String getConfigCourseSite1() {
 		return configSite1;
 	}
@@ -160,17 +173,13 @@ public class SiteDefinitions extends AbstractOLATModule {
 		String configStr = xStream.toXML(configs);
 		setSitesSettings(configStr);
 	}
-
-	/**
-	 * 
-	 */
-	public SiteDefinitions() {
-		// Does NOT call initSiteDefinitionList() here because we are not sure if all SiteDef-beans are loaded !
-		// and we won't to define spring depends-on
-	}
 	
 	@Override
 	public void init() {
+		if(configurers != null) {
+			log.debug(configurers.size() + " sites configurers found.");
+		}
+		
 		String sitesObj = getStringPropertyValue("sites.config", true);
 		if(StringHelper.containsNonWhitespace(sitesObj)) {
 			sitesSettings = sitesObj;
@@ -193,12 +202,6 @@ public class SiteDefinitions extends AbstractOLATModule {
 		}
 	}
 
-	@Override
-	public void setPersistedProperties(PersistedProperties persistedProperties) {
-		this.moduleConfigProperties = persistedProperties;
-		
-	}
-
 	@Override
 	protected void initDefaultProperties() {
 		//do nothing