Index: servers/xmlrpc_server/xmlrpc_server.module
===================================================================
--- servers/xmlrpc_server/xmlrpc_server.module	(revision 3)
+++ servers/xmlrpc_server/xmlrpc_server.module	(working copy)
@@ -64,18 +64,16 @@
   $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'];
-      } else {
-        if($arg['optional'] == FALSE) {
+      } else if($arg['optional'] == FALSE && !isset($args[$index])) {
           return services_error(t('Missing required argument @arg', array(
               '@arg' => $arg['name'],
             )), 401);
-        }
       }
     }
   }
