diff --git a/inc/IXR_Library.php b/inc/IXR_Library.php
index 088ae8d453bcdb1fb484a775ddbc7bf9b47d18d8..2752e31f23c607b7f62be80f57c85d9339c0754e 100644
--- a/inc/IXR_Library.php
+++ b/inc/IXR_Library.php
@@ -176,6 +176,7 @@ class IXR_Message {
     }
     function tag_open($parser, $tag, $attr) {
         $this->currentTag = $tag;
+        $this->_currentTagContents = '';
         switch($tag) {
             case 'methodCall':
             case 'methodResponse':
@@ -211,7 +212,7 @@ class IXR_Message {
                 $valueFlag = true;
                 break;
             case 'string':
-                $value = (string)trim($this->_currentTagContents);
+                $value = (string)$this->_currentTagContents;
                 $this->_currentTagContents = '';
                 $valueFlag = true;
                 break;
diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php
index 9b440c9f569462f1fb53e7a2972426b079157999..d3913482f1da023c4cdc334b18d0e11a0aebcb9d 100644
--- a/lib/exe/xmlrpc.php
+++ b/lib/exe/xmlrpc.php
@@ -466,14 +466,14 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer {
         global $conf;
 
         $id    = cleanID($id);
-        $TEXT  = trim($text);
+        $TEXT  = cleanText($text);
         $sum   = $params['sum'];
         $minor = $params['minor'];
 
         if(empty($id))
             return new IXR_Error(1, 'Empty page ID');
 
-        if(!page_exists($id) && empty($TEXT)) {
+        if(!page_exists($id) && trim($TEXT) == '' ) {
             return new IXR_ERROR(1, 'Refusing to write an empty new wiki page');
         }