--- kernel/common/ezurloperator.php
+++ kernel/common/ezurloperator.php
@@ -257,7 +257,7 @@ class eZURLOperator
                 {
                     $url = eZTemplateNodeTool::elementStaticValue( $parameters[0] );
 
-                    $serverURL = isset( $parameters[2] ) ? eZTemplateNodeTool::elementStaticValue( $parameters[2] ) : 'relative';
+                    $serverURL = isset( $parameters[2] ) ? eZTemplateNodeTool::elementStaticValue( $parameters[2] ) : eZURI::getTransformURIMode();
 
                     eZURI::transformURI( $url, false, $serverURL );
 
@@ -269,14 +269,24 @@ class eZURLOperator
                     $url = eZTemplateNodeTool::elementStaticValue( $parameters[0] );
 
                     $values[] = array( eZTemplateNodeTool::createStringElement( $url ) );
-                    $values[] = isset( $parameters[2] ) ? $parameters[2] : array( eZTemplateNodeTool::createStringElement( 'relative' ) );
+
+                    if ( isset( $parameters[2] ) )
+                    {
+                        $values[] = $parameters[2];
+                        $parameter = "%2%";
+                    }
+                    else
+                    {
+                        $parameter = "eZURI::getTransformURIMode()";
+                    }
 
                     $code = <<<CODEPIECE
 
 %tmp1% = %1%;
-eZURI::transformURI( %tmp1%, false, %2% );
+eZURI::transformURI( %tmp1%, false, $parameter );
 
 CODEPIECE;
+                    unset( $parameter );
                     $useTmp = true;
                     ++$tmpCount;
 
@@ -284,14 +284,24 @@
                 else
                 {
                     $values[] = $parameters[0];
-                    $values[] = isset( $parameters[2] ) ? $parameters[2] : array( eZTemplateNodeTool::createStringElement( 'relative' ) );
+
+                    if ( isset( $parameters[2] ) )
+                    {
+                        $values[] = $parameters[2];
+                        $parameter = "%2%";
+                    }
+                    else
+                    {
+                        $parameter = "eZURI::getTransformURIMode()";
+                    }

                     $code = <<<CODEPIECE

 //include_once( 'lib/ezutils/classes/ezuri.php' );
-eZURI::transformURI( %1%, false, %2% );
+eZURI::transformURI( %1%, false, $parameter );

 CODEPIECE;
+                    unset( $parameter );
                 }

                 ++$paramCount;
@@ -310,7 +330,7 @@ CODEPIECE;
                               $url[0] != '/' )
                         $url = '/' . $url;
 
-                    $serverURL = isset( $parameters[2] ) ? eZTemplateNodeTool::elementStaticValue( $parameters[2] ) : 'relative';
+                    $serverURL = isset( $parameters[2] ) ? eZTemplateNodeTool::elementStaticValue( $parameters[2] ) : eZURI::getTransformURIMode();
 
                     // Same as "ezurl" without "index.php" and the siteaccess name in the returned address.
                     eZURI::transformURI( $url, true, $serverURL );
@@ -323,7 +323,16 @@
                     $url = eZTemplateNodeTool::elementStaticValue( $parameters[0] );

                     $values[] = array( eZTemplateNodeTool::createStringElement( $url ) );
-                    $values[] = isset( $parameters[2] ) ? $parameters[2] : array( eZTemplateNodeTool::createStringElement( 'relative' ) );
+
+                    if ( isset( $parameters[2] ) )
+                    {
+                        $values[] = $parameters[2];
+                        $parameter = "%2%";
+                    }
+                    else
+                    {
+                        $parameter = "eZURI::getTransformURIMode()";
+                    }

                     $code = '%tmp1% = %1%;';
                     $code .= 'if ( preg_match( "#^[a-zA-Z0-9]+:#", %tmp1% ) or' . "\n" .
@@ -334,7 +334,9 @@
                              '%tmp1% = \'/\' . %tmp1%;' . "\n";

                     $code .= '//include_once( \'lib/ezutils/classes/ezuri.php\' );' . "\n" .
-                             'eZURI::transformURI( %tmp1%, true, %2% );' . "\n";
+                             'eZURI::transformURI( %tmp1%, true, $parameter );' . "\n";
+
+                    unset( $parameter );

                     $useTmp = true;
                     ++$tmpCount;
@@ -342,7 +373,16 @@ CODEPIECE;
                 else
                 {
                     $values[] = $parameters[0];
-                    $values[] = isset( $parameters[2] ) ? $parameters[2] : array( eZTemplateNodeTool::createStringElement( 'relative' ) );
+
+                    if ( isset( $parameters[2] ) )
+                    {
+                        $values[] = $parameters[2];
+                        $parameter = "%2%";
+                    }
+                    else
+                    {
+                        $parameter = "eZURI::getTransformURIMode()";
+                    }
 
                     $code = 'if ( preg_match( "#^[a-zA-Z0-9]+:#", %1% ) or' . "\n" .
                             'substr( %1%, 0, 2 ) == \'//\' )' . "\n" .
@@ -351,8 +351,9 @@
                             '  %1%[0] != \'/\' )' . "\n" .
                             '%1% = \'/\' . %1%;' . "\n";
                     $code .= '//include_once( \'lib/ezutils/classes/ezuri.php\' );' . "\n" .
-                             'eZURI::transformURI( %1%, true, %2% );' . "\n";
+                             'eZURI::transformURI( %1%, true, $parameter );' . "\n";

+                    unset( $parameter );
                 }

                 ++$paramCount;
--- kernel/rss/feed.php
+++ kernel/rss/feed.php
@@ -47,6 +47,8 @@ $cacheTime = intval( $config->variable( 'RSSSettings', 'CacheTime' ) );
 
 $lastModified = gmdate( 'D, d M Y H:i:s', time() ) . ' GMT';
 
+eZURI::setTransformURIMode( 'full' );
+
 if ( $cacheTime <= 0 )
 {
     // use the new attribute rss-xml-content instead of the deprecated attribute rss-xml
--- lib/ezutils/classes/ezuri.php
+++ lib/ezutils/classes/ezuri.php
@@ -524,8 +524,13 @@ class eZURI
      Implementation of an 'ezurl' template operator.
      Makes valid ez publish urls to use in links.
     */
-    static function transformURI( &$href, $ignoreIndexDir = false, $serverURL = 'relative' )
+    static function transformURI( &$href, $ignoreIndexDir = false, $serverURL = null )
     {
+        if ( $serverURL === null )
+        {
+            $serverURL = self::$transformURIMode;
+        }
+
         if ( preg_match( "#^[a-zA-Z0-9]+:#", $href ) || substr( $href, 0, 2 ) == '//' )
             return false;
 
@@ -558,6 +563,32 @@ class eZURI
         return true;
     }
 
+    /**
+     * Returns the current mode used for transformURI().
+     *
+     * @see transformURI()
+     * @see setTransformURIMode()
+     *
+     * @return string
+     */
+    public static function getTransformURIMode()
+    {
+        return self::$transformURIMode;
+    }
+
+    /**
+     * Sets the current $mode used for transformURI().
+     *
+     * @see transformURI()
+     * @see getTransformURIMode()
+     *
+     * @param string $mode
+     */
+    public static function setTransformURIMode( $mode )
+    {
+        self::$transformURIMode = $mode;
+    }
+
     /// The original URI string
     public $URI;
     /// The URI array
@@ -566,6 +597,13 @@ class eZURI
     public $Index;
     /// User defined template variables
     public $UserArray;
+
+    /**
+     * Contains the current mode for transformURI().
+     *
+     * @var string
+     */
+    private static $transformURIMode = "relative";
 };
 
 ?>
