Index: src/server/Simias.Server/Service.cs
===================================================================
--- src/server/Simias.Server/Service.cs	(revision 6717)
+++ src/server/Simias.Server/Service.cs	(working copy)
@@ -97,7 +97,7 @@
 							{
 								foreach( Type itype in ctype.GetInterfaces() )
 								{
-									if ( itype == typeof( Simias.IIdentitySyncProvider ) )
+									if ( Simias.IdentitySync.Service.master && itype == typeof( Simias.IIdentitySyncProvider ) )
 									{
 										syncProvider = 
 											Activator.CreateInstance( ctype ) as IIdentitySyncProvider;
Index: src/server/Simias.Server/IdentitySyncService.cs
===================================================================
--- src/server/Simias.Server/IdentitySyncService.cs	(revision 6717)
+++ src/server/Simias.Server/IdentitySyncService.cs	(working copy)
@@ -569,6 +569,7 @@
 		static internal string status;
 		static internal DateTime upSince;
 		static internal int cycles = 0;
+		static internal bool master = true;
 		
 		static internal IdentitySync.State lastState = null;
 		static string disabledAtProperty = "IdentitySync:DisabledAt";
@@ -966,6 +967,12 @@
 		public static int SyncNow( string data )
 		{
 			log.Debug( "SyncNow called" );
+			if ( !master )
+			{
+				log.Debug( "Identity sync service disabled in Slave" );
+				return -1;
+			}
+
 			if ( running == false )
 			{
 				log.Debug( "  synchronization service not running" );
@@ -985,6 +992,14 @@
 		/// <returns>N/A</returns>
 		static public void Start( )
 		{
+			Simias.Configuration config = Store.Config;
+			string cfgValue = config.Get( "Server", "MasterAddress" );
+			if ( cfgValue != null || cfgValue != String.Empty )
+			{
+				master = false;
+				log.Debug( "Identity sync service disabled in Slave" );
+				return;
+			}
 			if ( running == true )
 			{
 				log.Debug( "Identity sync service is already running" );
