diff -u -r syncevolution-1.1/src/synthesis/src/sysync/syncdatastore.cpp syncevolution-1.1-c510/src/synthesis/src/sysync/syncdatastore.cpp
--- syncevolution-1.1/src/synthesis/src/sysync/syncdatastore.cpp	2010-10-19 15:03:03.000000000 +0200
+++ syncevolution-1.1-c510/src/synthesis/src/sysync/syncdatastore.cpp	2010-11-04 01:47:25.000000000 +0100
@@ -143,6 +143,8 @@
 // therefore base identity check on more than simple name match
 uInt16 TSyncDataStore::isDatastore(const char *aDatastoreURI)
 {
+  if(!strcmp(fName.c_str(),"addressbook") && !strcmp(aDatastoreURI,"Contacts")) 
+    return 1;
   // base class only implements case insensitive name comparison
   return strucmp(fName.c_str(),aDatastoreURI)==0 ? fName.size() : 0;
 } // TSyncDataStore::isDatastore
diff -u -r syncevolution-1.1/src/synthesis/src/sysync/syncsession.cpp syncevolution-1.1-c510/src/synthesis/src/sysync/syncsession.cpp
--- syncevolution-1.1/src/synthesis/src/sysync/syncsession.cpp	2010-10-19 15:03:03.000000000 +0200
+++ syncevolution-1.1-c510/src/synthesis/src/sysync/syncsession.cpp	2010-11-04 02:02:17.000000000 +0100
@@ -3625,6 +3625,10 @@
   // - search for datastore and obtain possible CGI
   fLocalSyncDatastoreP = findLocalDataStoreByURI(SessionRelativeURI(aLocalDatastoreURI),&cgiOptions);
   if (!fLocalSyncDatastoreP) {
+    // fallback for Sony Ericsson C510
+    fLocalSyncDatastoreP = findLocalDataStoreByURI(SessionRelativeURI(aRemoteDatastoreURI),&cgiOptions);
+  }
+  if (!fLocalSyncDatastoreP) {
     // no such local datastore
     return 404;
   }
@@ -4790,7 +4794,7 @@
     case 204:
     case 205:
     // Sync resume alert
-    case 225:
+    case 225: {
       // Synchronisation initialisation alerts
       // - test if context is ok
       if (fIncomingState!=psta_init && fIncomingState!=psta_initsync) {
@@ -4804,8 +4808,13 @@
         return NULL; // no alert sent back
       }
       // find requested database by URI
+      string target = smlSrcTargLocURIToCharP(aItemP->target); // target as sent from remote
+      if (target.empty()) {
+        // fallback for Sony Ericsson C510
+        target = smlSrcTargLocURIToCharP(aItemP->source);
+      }
       datastoreP = findLocalDataStoreByURI(
-        smlSrcTargLocURIToCharP(aItemP->target), // target as sent from remote
+        target.c_str(),
         &optionsCGI, // options, if any
         &identifyingTargetURI // identifying part of URI (CGI removed)
       );
@@ -4850,6 +4859,7 @@
         aStatusCommand.addItem(itemP); // add it to status
       }
       break;
+    }
     case 224 :
       // Suspend alert
       SuspendSession(514);
