Index: CHANGELOG
===================================================================
--- CHANGELOG	(revision 88007cf0602434d73a21b475a151b80a9002e6da)
+++ CHANGELOG	(revision a76cbddfc92adbf4e8cb18dda5f668ec4de8a114)
@@ -4,4 +4,5 @@
 - Fix login redirect issues (#1487686)
 - Require PHP 5.2.1 or greater
+- Fix %h/%z variables in username_domain option (#1487701)
 
 RELEASE 0.5
Index: program/include/main.inc
===================================================================
--- program/include/main.inc	(revision e224b002c08968ea2085c260a316f4357b81573e)
+++ program/include/main.inc	(revision a76cbddfc92adbf4e8cb18dda5f668ec4de8a114)
@@ -1772,7 +1772,8 @@
  *
  * @param string $name Hostname
+ * @param string $host Optional IMAP hostname
  * @return string
  */
-function rcube_parse_host($name)
+function rcube_parse_host($name, $host='')
 {
   // %n - host
@@ -1781,5 +1782,5 @@
   $d = preg_replace('/^[^\.]+\./', '', $n);
   // %h - IMAP host
-  $h = $_SESSION['imap_host'];
+  $h = $_SESSION['imap_host'] ? $_SESSION['imap_host'] : $host;
   // %z - IMAP domain without first part, e.g. %h=imap.domain.tld, %z=domain.tld
   $z = preg_replace('/^[^\.]+\./', '', $h);
Index: program/include/rcmail.php
===================================================================
--- program/include/rcmail.php	(revision 68d2d541002017dae51127aa05af58d19916655b)
+++ program/include/rcmail.php	(revision a76cbddfc92adbf4e8cb18dda5f668ec4de8a114)
@@ -675,7 +675,7 @@
     if (!empty($config['username_domain']) && strpos($username, '@') === false) {
       if (is_array($config['username_domain']) && isset($config['username_domain'][$host]))
-        $username .= '@'.rcube_parse_host($config['username_domain'][$host]);
+        $username .= '@'.rcube_parse_host($config['username_domain'][$host], $host);
       else if (is_string($config['username_domain']))
-        $username .= '@'.rcube_parse_host($config['username_domain']);
+        $username .= '@'.rcube_parse_host($config['username_domain'], $host);
     }
 
