diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php
index 3fe432157cbc06354e794cb056bfa5ffdc2f7a97..87d3af07efc8e88af27381453b50fac03e7c9e1e 100644
--- a/lib/exe/xmlrpc.php
+++ b/lib/exe/xmlrpc.php
@@ -373,8 +373,13 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer {
             $revisions = getRevisions($id, $first, $conf['recent']+1);
         }
 
+        if(count($revisions)>0 && $first==0) {
+            array_unshift($revisions, '');  // include current revision
+            array_pop($revisions);          // remove extra log entry
+        }
+
         $hasNext = false;
-        if (count($revisions)>$conf['recent']) {
+        if(count($revisions)>$conf['recent']) {
             $hasNext = true;
             array_pop($revisions); // remove extra log entry
         }
@@ -383,6 +388,9 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer {
             foreach($revisions as $rev) {
                 $file = wikiFN($id,$rev);
                 $time = @filemtime($file);
+                // we check if the page actually exists, if this is not the
+                // case this can lead to less pages being returned than
+                // specified via $conf['recent']
                 if($time){
                     $info = getRevisionInfo($id, $time, 1024);
                     if(!empty($info)) {