diff --git a/servers/xmlrpc_server/xmlrpc_server.module b/servers/xmlrpc_server/xmlrpc_server.module
index 0cc5500..eba47bd 100644
--- a/servers/xmlrpc_server/xmlrpc_server.module
+++ b/servers/xmlrpc_server/xmlrpc_server.module
@@ -63,20 +63,18 @@ function xmlrpc_server_call_wrapper() {
   $args = func_get_args();
   $endpoint = services_get_server_info('endpoint', '');
   $controller = services_controller_get($method_name, $endpoint);
-  
-  // Add in default arguments if arguments still dont exist.
-  if (is_array($controller['args'])) {
-    foreach ($controller['args'] as $index => $arg) {
-      if ($arg['optional'] && isset($arg['default value']) && !isset($args[$index])) {
-        $args[$index] = $arg['default value'];
-      }
-      elseif ($arg['optional'] == FALSE && !isset($args[$index])) {
-        return services_error(t('Missing required argument @arg', array('@arg' => $arg['name'])), 401);
+  try {
+    // Add in default arguments if arguments still dont exist.
+    if (isset($controller['args'])  && is_array($controller['args'])) {
+      foreach ($controller['args'] as $index => $arg) {
+        if ($arg['optional'] && isset($arg['default value']) && !isset($args[$index])) {
+          $args[$index] = $arg['default value'];
+        }
+        elseif ($arg['optional'] == FALSE && !isset($args[$index])) {
+          return services_error(t('Missing required argument @arg', array('@arg' => $arg['name'])), 401);
+        }
       }
     }
-  }
-
-  try {
     return services_controller_execute($controller, $args);
   }
   catch (Exception $e) {
