diff --git services.module services.module
index 60abd01..22f494f 100644
--- services.module
+++ services.module
@@ -430,6 +430,9 @@ function services_session_restart($sessid) {
     return;
   }
   session_id($sessid);
+  // Some client/servers, like XMLRPC, do not handle cookies, so imitate it to make sess_read() function try to look for user,
+  // instead of just loading anonymous user :).
+  if (!isset($_COOKIE[session_name()])) $_COOKIE[session_name()] = session_id();
   sess_read($sessid);
   session_start();
 }
