diff --git a/plugins/export_ui/services_ctools_export_ui.class.php b/plugins/export_ui/services_ctools_export_ui.class.php
index 578d2eb..5766991 100644
--- a/plugins/export_ui/services_ctools_export_ui.class.php
+++ b/plugins/export_ui/services_ctools_export_ui.class.php
@@ -150,7 +150,7 @@ function services_edit_form_endpoint_server($form, $form_state) {
   else {
     $definition = $server['settings'];
 
-    $settings = isset($endpoint->server_settings[$endpoint->server]) ? $endpoint->server_settings[$endpoint->server] : array();
+    $settings = isset($endpoint->server_settings) ? $endpoint->server_settings : array();
 
     if (!empty($definition['file'])) {
       call_user_func_array('module_load_include', $definition['file']);
@@ -189,7 +189,7 @@ function services_edit_form_endpoint_server_submit($form, $form_state) {
   }
 
   // Store the settings in the endpoint
-  $endpoint->server_settings[$endpoint->server] = $values;
+  $endpoint->server_settings = $values;
   services_endpoint_save($endpoint);
 
   drupal_set_message(t('Your server settings have been saved.'));
diff --git a/servers/rest_server/includes/RESTServer.inc b/servers/rest_server/includes/RESTServer.inc
index 9ec42f5..5e73ef3 100755
--- a/servers/rest_server/includes/RESTServer.inc
+++ b/servers/rest_server/includes/RESTServer.inc
@@ -57,7 +57,7 @@ class RESTServer {
     $endpoint_definition = services_endpoint_load($endpoint);
 
     // Get the server settings from the endpoint.
-    $this->settings = !empty($endpoint_definition->server_settings['rest_server']) ? $endpoint_definition->server_settings['rest_server'] : array();
+    $this->settings = !empty($endpoint_definition->server_settings) ? $endpoint_definition->server_settings : array();
     // Normalize the settings so that we get the expected structure
     // and sensible defaults.
     $this->settings = rest_server_setup_settings($this->settings);
@@ -572,4 +572,4 @@ class RESTServer {
       return $action;
     }
   }
-}
\ No newline at end of file
+}
diff --git a/services.install b/services.install
index 09e3b46..672389a 100644
--- a/services.install
+++ b/services.install
@@ -343,4 +343,22 @@ function services_update_6304() {
   $ret = array();
   db_drop_field($ret, 'services_endpoint', 'title');
   return $ret;
-}
\ No newline at end of file
+}
+
+
+/**
+ * Update 7400 reduces nesting in the way server settings are stored
+ */
+function services_update_7400() {
+  foreach (services_endpoint_load_all() as $endpoint) {
+    $settings = $endpoint->server_settings;
+    if (!empty($settings)) {
+      $settings = current($settings);
+    }
+    else {
+      $settings = array();
+    }
+    $endpoint->server_settings = $settings;
+    services_endpoint_save($endpoint);
+  }
+}
diff --git a/services.module b/services.module
index f640631..19dc345 100644
--- a/services.module
+++ b/services.module
@@ -166,7 +166,7 @@ function services_endpoint_callback($endpoint_name) {
       'endpoint'      => $endpoint_name,
       'endpoint_path' => $endpoint->path,
       'debug'         => $endpoint->debug,
-      'settings'      => $endpoint->server_settings[$server],
+      'settings'      => $endpoint->server_settings,
     ));
     if ($endpoint->debug) {
       watchdog('services', 'Server info main object: <pre>@info</pre>', array('@info' => print_r(services_server_info_object(), TRUE)), WATCHDOG_DEBUG);
diff --git a/tests/functional/ServicesParserTests.test b/tests/functional/ServicesParserTests.test
index 6e7214d..4886a14 100644
--- a/tests/functional/ServicesParserTests.test
+++ b/tests/functional/ServicesParserTests.test
@@ -39,18 +39,16 @@ class ServicesParserTests extends ServicesWebTestCase {
       'services' => 'services',
     );
     $endpoint->server_settings = array(
-      'rest_server' => array(
-        'formatters' => array(
-          'php' => TRUE,
-        ),
-        'parsers' => array(
-          'application/x-yaml' => TRUE,
-          'application/json' => TRUE,
-          'application/vnd.php.serialized' => TRUE,
-          'application/plist' => TRUE,
-          'application/plist+xml' => TRUE,
-          'application/x-www-form-urlencoded' => FALSE,
-        ),
+      'formatters' => array(
+        'php' => TRUE,
+      ),
+      'parsers' => array(
+        'application/x-yaml' => TRUE,
+        'application/json' => TRUE,
+        'application/vnd.php.serialized' => TRUE,
+        'application/plist' => TRUE,
+        'application/plist+xml' => TRUE,
+        'application/x-www-form-urlencoded' => FALSE,
       ),
     );
     $endpoint->resources = array(
@@ -101,4 +99,4 @@ class ServicesParserTests extends ServicesWebTestCase {
       t('Do not accept application/x-www-form-urlencoded if disabled.'), 'Parser');
   }
 
-}
\ No newline at end of file
+}
diff --git a/tests/functional/ServicesWebTestCase.php b/tests/functional/ServicesWebTestCase.php
index b6547ea..47c41b8 100644
--- a/tests/functional/ServicesWebTestCase.php
+++ b/tests/functional/ServicesWebTestCase.php
@@ -168,26 +168,24 @@ class ServicesWebTestCase extends DrupalWebTestCase {
       'services' => 'services',
     );
     $endpoint->server_settings = array(
-      'rest_server' => array(
-        'formatters' => array(
-          'json' => TRUE,
-          'bencode' => TRUE,
-          'rss' => TRUE,
-          'plist' => TRUE,
-          'xmlplist' => TRUE,
-          'php' => TRUE,
-          'yaml' => TRUE,
-          'jsonp' => FALSE,
-          'xml' => FALSE,
-        ),
-        'parsers' => array(
-          'application/x-yaml' => TRUE,
-          'application/json' => TRUE,
-          'application/vnd.php.serialized' => TRUE,
-          'application/plist' => TRUE,
-          'application/plist+xml' => TRUE,
-          'application/x-www-form-urlencoded' => TRUE,
-        ),
+      'formatters' => array(
+        'json' => TRUE,
+        'bencode' => TRUE,
+        'rss' => TRUE,
+        'plist' => TRUE,
+        'xmlplist' => TRUE,
+        'php' => TRUE,
+        'yaml' => TRUE,
+        'jsonp' => FALSE,
+        'xml' => FALSE,
+      ),
+      'parsers' => array(
+        'application/x-yaml' => TRUE,
+        'application/json' => TRUE,
+        'application/vnd.php.serialized' => TRUE,
+        'application/plist' => TRUE,
+        'application/plist+xml' => TRUE,
+        'application/x-www-form-urlencoded' => TRUE,
       ),
     );
     $endpoint->resources = array(
