diff --git a/html/main.php b/html/main.php
index fce474b9cc3636abe291dc23dd7e5e9203a107f0..b24011e8692269a1f91c5e9e1a3a995c0050f4a9 100644
--- a/html/main.php
+++ b/html/main.php
@@ -301,7 +301,6 @@ if (isset($_POST['_channel_'])) {
 } else {
   $smarty->assign("channel", "");
 }
-$smarty->assign ("title", "FusionDirectory");
 
 if (class_available('Game')) {
   $smarty->assign('game_screen', Game::run());
diff --git a/html/setup.php b/html/setup.php
index 62dd14c357dc212377f87ee1b0f442a93da3495d..b3765be913ac48857e0635833313520d92463f88 100644
--- a/html/setup.php
+++ b/html/setup.php
@@ -103,19 +103,20 @@ $ui = new userinfoNoAuth('setup');
 $display = "";
 require_once("../setup/main.inc");
 
-$smarty->assign("date", date("l, dS F Y H:i:s O"));
-$header = $smarty->fetch(get_template_path('headers.tpl'));
-
 $focus = '<script type="text/javascript">';
 $focus .= 'next_msg_dialog();';
 $focus .= '</script>';
 
 /* show web frontend */
 $setup = session::global_get('setup');
+
+$smarty->assign('date',           date('l, dS F Y H:i:s O'));
+$smarty->assign('headline',       $setup->get_header_text());
+$header = $smarty->fetch(get_template_path('headers.tpl'));
+
 $smarty->assign("contents",       $display.$setup->get_bottom_html());
 $smarty->assign("navigation",     $setup->get_navigation_html());
 $smarty->assign("headline_image", $setup->get_header_image());
-$smarty->assign("headline",       $setup->get_header_text());
 $smarty->assign("focus",          $focus);
 $smarty->assign('CSRFtoken',      CSRFProtection::getToken());
 $smarty->assign("msg_dialogs",    msg_dialog::get_dialogs());
diff --git a/ihtml/themes/breezy/framework.tpl b/ihtml/themes/breezy/framework.tpl
index 4230424f95cecfd7e423e6326ad96923bd7e4ad5..9234dbb91b87928eca5eaef963b12ed63ceb0d66 100644
--- a/ihtml/themes/breezy/framework.tpl
+++ b/ihtml/themes/breezy/framework.tpl
@@ -14,11 +14,11 @@
           <img src="geticon.php?context=actions&amp;icon=application-exit&amp;size=22" alt="Sign out"/>&nbsp;{t}Sign out{/t}
         </a>
         <a class="plugtop">
-          <img src="{$headline_image|escape}" alt="{t}{$headline}{/t}"/>{t}{$headline}{/t}
+          <img src="{$headline_image|escape}" alt="{t}{$headline|escape}{/t}"/>{t}{$headline|escape}{/t}
         </a>
       </div>
       <div id="header-right">
-        <a><span class="optional">{t}Signed in:{/t} </span><b>{$username}</b></a>
+        <a><span class="optional">{t}Signed in:{/t} </span><b>{$username|escape}</b></a>
         {if ($sessionLifetime > 0)}
         <div class="logout-label">
           <canvas id="sTimeout" width="22" height="22" title="{$sessionLifetime}|{t}Session expires in %d!{/t}"></canvas>
diff --git a/ihtml/themes/breezy/headers.tpl b/ihtml/themes/breezy/headers.tpl
index 9753b1eae700a1cf03a78326fa3f05b2d488998b..77b10eb2f93033f4d5d66ab6c76713013435ef0c 100644
--- a/ihtml/themes/breezy/headers.tpl
+++ b/ihtml/themes/breezy/headers.tpl
@@ -2,11 +2,11 @@
 <html xmlns="http://www.w3.org/1999/xhtml" {if $rtl}dir="rtl" class="rtl"{else}class="ltr"{/if}>
 
 <head>
-  <title>{if isset($title)}{$title}{else}FusionDirectory{/if}</title>
+  <title>FusionDirectory{if isset($title)} - {$title|escape}{elseif isset($headline)} - {$headline|escape}{/if}</title>
 
   <meta charset="utf-8"/>
 
-  <meta name="description" content="FusionDirectory - Login"/>
+  <meta name="description" content="FusionDirectory - Your Infrastructure Manager"/>
   <meta name="author" lang="en" content="FusionDirectory Project"/>
   <meta name="viewport" content="width=device-width"/>
 
diff --git a/include/class_passwordRecovery.inc b/include/class_passwordRecovery.inc
index c6dcddd4dfa91645a46ba0da337e78f5b177cbe5..4df57dee30fb23346b90eebb6e9a60c4b1f4771a 100644
--- a/include/class_passwordRecovery.inc
+++ b/include/class_passwordRecovery.inc
@@ -116,6 +116,7 @@ class passwordRecovery extends standAlonePage {
 
     $smarty->append('js_files',     'include/pwdStrength.js');
     $smarty->append('css_files',    get_template_path('login.css'));
+    $smarty->assign('title',        _('Password recovery'));
     $smarty->display(get_template_path('headers.tpl'));
 
     $smarty->assign('step',           $this->step);
diff --git a/include/login/class_LoginPost.inc b/include/login/class_LoginPost.inc
index e1d9ff8f4fc2d3379d45fdf875bbed8d72126b4b..970db4f19607c80d9ea74ce1d4d43fd7a5281f59 100644
--- a/include/login/class_LoginPost.inc
+++ b/include/login/class_LoginPost.inc
@@ -83,6 +83,7 @@ class LoginPost extends LoginMethod
     $smarty->assign('revision',   FD_VERSION);
     $smarty->assign('year',       date('Y'));
     $smarty->append('css_files',  get_template_path('login.css'));
+    $smarty->assign('title',      _('Sign in'));
 
     /* Some error to display? */
     if (!isset($message)) {