diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php
index 04a9ed8b105cbd2b207a62aba851e13d11233d59..85e6eefed3736d5e4caa99b514c34d4d7e902e8e 100644
--- a/inc/parser/metadata.php
+++ b/inc/parser/metadata.php
@@ -32,6 +32,10 @@ class Doku_Renderer_metadata extends Doku_Renderer {
   var $capture = true;
   var $store   = '';
 
+  function getFormat(){
+    return 'metadata';
+  }
+
   function document_start(){
     // reset metadata to persistent values
     $this->meta = $this->persistent;
diff --git a/inc/parser/renderer.php b/inc/parser/renderer.php
index 0e6fa2d857d29c30e63236995f6acae3752c70e8..1b6340445d5833f220a0cb4b204c21619255d57c 100644
--- a/inc/parser/renderer.php
+++ b/inc/parser/renderer.php
@@ -37,13 +37,21 @@ class Doku_Renderer extends DokuWiki_Plugin {
         $this->info['toc'] = false;
     }
 
+    /**
+     * Returns the format produced by this renderer.
+     *
+     * Has to be overidden by decendend classes
+     */
+    function getFormat(){
+        trigger_error('getFormat() not implemented in '.get_class($this), E_USER_WARNING);
+    }
+
+
     //handle plugin rendering
     function plugin($name,$data){
         $plugin =& plugin_load('syntax',$name);
         if($plugin != null){
-            // determine mode from renderer class name - format = "Doku_Renderer_<mode>"
-            $mode = substr(get_class($this), 14);
-            $plugin->render($mode,$this,$data);
+            $plugin->render($this->getFormat(),$this,$data);
         }
     }
 
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index ea5b72495b926948aec7607f61573402e4bff390..e397f5bd74d679c6deb1066f74ceb7ab2d03de2b 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -36,6 +36,11 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
     var $lastsec = 0;
     var $store = '';
 
+    function getFormat(){
+        return 'xhtml';
+    }
+
+
     function document_start() {
         //reset some internals
         $this->toc     = array();
diff --git a/inc/parserutils.php b/inc/parserutils.php
index 1caad257efad4b1ae8cffc2f669832c92fe69fd6..20971ac03dc056adad92c30edbe38d2042826e77 100644
--- a/inc/parserutils.php
+++ b/inc/parserutils.php
@@ -516,7 +516,6 @@ function p_sort_modes($a, $b){
 function p_render($mode,$instructions,& $info){
   if(is_null($instructions)) return '';
 
-
   // try default renderer first:
   $file = DOKU_INC."inc/parser/$mode.php";
   if(@file_exists($file)){