Index: simias-1.8.3.10200.stable/src/core/Sync/SyncClient.cs
===================================================================
--- simias-1.8.3.10200.stable.orig/src/core/Sync/SyncClient.cs	2010-04-15 10:16:23.000000000 -0400
+++ simias-1.8.3.10200.stable/src/core/Sync/SyncClient.cs	2010-07-19 12:37:44.255199987 -0400
@@ -2473,25 +2473,6 @@ namespace Simias.Sync
                         if (nodeIDs.Length == 0)
                         return;
 
-                        string[] deleteNodeIDs = workArray.DeletesToServer();
-
-                        if(deleteNodeIDs.Length > 0)
-                        {
-                                foreach(string nodeid in nodeIDs)
-                                {
-                                        foreach(string deleteid in deleteNodeIDs)
-                                        {
-                                                if(nodeid == deleteid)
-                                                {
-                                                        workArray.RemoveNodeFromServer(nodeid);
-                                                }
-                                        }
-                                }
-                        }
-                        nodeIDs = workArray.FilesFromServer(merge, Store.IsEnterpriseServer);
-                        if (nodeIDs.Length == 0)
-                                return;
-                        log.Info("Downloading {0} Files from server", nodeIDs.Length);
                         foreach (string nodeID in nodeIDs)
 			{
 				try
@@ -3124,7 +3105,8 @@ namespace Simias.Sync
 						}
 					}
 				}
-				else if (nodesFromServer != null && nodesFromServer.Contains(stamp.ID))
+				else if (nodesFromServerMerge.Contains(stamp.ID)
+						|| nodesFromServerDownload.Contains(stamp.ID)) // shouldn't be needed?
 				{
 					// This node has changed on the server we have a collision that we need to get.
 					// Unless this is a delete.