--- includes/xmlrpcs.inc	2010-07-30 23:17:34.000000000 -0500
+++ includes/xmlrpcs.inc	2010-08-30 01:59:49.302541900 -0500
@@ -55,7 +55,7 @@
     }
     else {
       $xmlrpc_server->callbacks[$key] = $callback;
-      $xmlrpc_server->signatures[$key] = '';
+      $xmlrpc_server->signatures[$key] = 'undef';
       $xmlrpc_server->help[$key] = '';
     }
   }
@@ -355,13 +355,16 @@
   if (!isset($xmlrpc_server->callbacks[$methodname])) {
     return xmlrpc_error(-32601, t('Server error. Requested method @methodname not specified.', array("@methodname" => $methodname)));
   }
-  if (!is_array($xmlrpc_server->signatures[$methodname])) {
+  if (!is_array($xmlrpc_server->signatures[$methodname]) &&
+      ($xmlrpc_server->signatures[$methodname] != 'undef')) {
     return xmlrpc_error(-32601, t('Server error. Requested method @methodname signature not specified.', array("@methodname" => $methodname)));
   }
-  // We array of types
-  $return = array();
-  foreach ($xmlrpc_server->signatures[$methodname] as $type) {
-    $return[] = $type;
+  if (is_array($return)) {
+    // We array of types
+    $return = array();
+    foreach ($xmlrpc_server->signatures[$methodname] as $type) {
+      $return[] = $type;
+    }
   }
   return $return;
 }
