Index: xmlrpc.inc
===================================================================
--- xmlrpc.inc	(revision 3320)
+++ xmlrpc.inc	(working copy)
@@ -67,10 +67,10 @@
     return empty($xmlrpc_value->data) || range(0, count($xmlrpc_value->data) - 1) === array_keys($xmlrpc_value->data) ? 'array' : 'struct';
   }
   if (is_object($xmlrpc_value->data)) {
-    if ($xmlrpc_value->data->is_date) {
+    if (isset($xmlrpc_value->data->is_date)) {
       return 'date';
     }
-    if ($xmlrpc_value->data->is_base64) {
+    if (isset($xmlrpc_value->data->is_base64)) {
       return 'base64';
     }
     $xmlrpc_value->data = get_object_vars($xmlrpc_value->data);
@@ -256,7 +256,7 @@
     case 'value':
       // If no type is indicated, the type is string
       // We take special care for empty values
-      if (trim($xmlrpc_message->current_tag_contents) != '' || $xmlrpc_message->last_open == 'value') {
+      if (trim($xmlrpc_message->current_tag_contents) != '' || (isset($xmlrpc_message->last_open) && $xmlrpc_message->last_open == 'value')) {
         $value = (string)$xmlrpc_message->current_tag_contents;
         $value_flag = TRUE;
       }
