diff --git a/services.module b/services.module
index beca236..0638a3d 100644
--- a/services.module
+++ b/services.module
@@ -176,7 +176,7 @@ function services_get_servers() {
  * @return void
  */
 function services_endpoint_callback($endpoint_name) {
-  module_load_include('runtime.inc', 'services');
+  module_load_include('inc', 'services', 'services.runtime');
 
   $endpoint = services_endpoint_load($endpoint_name);
   $server = $endpoint->server;
diff --git a/services.runtime.inc b/services.runtime.inc
index 8b8391e..2803e18 100644
--- a/services.runtime.inc
+++ b/services.runtime.inc
@@ -319,8 +319,8 @@ function services_get_server_info($key, $default = NULL) {
  *  Returns the server info object.
  */
 function services_server_info_object($reset = FALSE) {
-  static $info;
-  if (!$info) {
+  $info = &drupal_static(__FUNCTION__);
+  if (!$info || $reset) {
     $info = new stdClass();
   }
   return $info;
