diff --git a/t/page.t b/t/page.t
index 11bc8e1..8b0afd0 100644
--- a/t/page.t
+++ b/t/page.t
@@ -47,6 +47,7 @@
       de_recentCorpusPub => 'Neuere Publikationen zu DeReKo als linguistische Forschungsdatengrundlage',
       en_recentToolPub => 'Recent publications to refer to KorAP as a research tool',
       de_recentToolPub => 'Neuere Publikationen zu KorAP als Forschungswerkzeug',
+      title_addon => 'Test',
     }
   },
   'TagHelpers-ContentBlock' => {
@@ -81,6 +82,12 @@
   ->text_is('section > section h4', 'Recent publications to refer to DeReKo as linguistic research data')
   ;
 
+$t->get_ok('/')
+  ->text_is('title', 'KorAP-Test - Corpus Analysis Platform')
+  ->text_is('h1 > span', 'KorAP-Test - Corpus Analysis Platform')
+  ->text_is('div.logoaddon', 'Test')
+  ;
+
 done_testing;
 
 1;
diff --git a/t/query.t b/t/query.t
index c7d0a55..376a879 100644
--- a/t/query.t
+++ b/t/query.t
@@ -11,7 +11,13 @@
 my $mount_point = '/realapi/';
 $ENV{KALAMAR_API} = $mount_point;
 
-my $t = Test::Mojo->new('Kalamar');
+my $t = Test::Mojo->new('Kalamar' => {
+  Localize => {
+    dict => {
+      title_addon => 'Test'
+    }
+  }
+});
 
 # Mount fake backend
 # Get the fixture path
@@ -32,8 +38,8 @@
   ->status_is(200)
   ->content_type_is('text/html;charset=UTF-8')
 
-  ->text_is('title', 'KorAP: Find »baum« with Poliqarp')
-  ->element_exists('meta[name="DC.title"][content="KorAP: Find »baum« with Poliqarp"]')
+  ->text_is('title', 'KorAP-Test: Find »baum« with Poliqarp')
+  ->element_exists('meta[name="DC.title"][content="KorAP-Test: Find »baum« with Poliqarp"]')
   ->element_exists('body[itemscope][itemtype="http://schema.org/SearchResultsPage"]')
 
   # Total results
@@ -102,8 +108,8 @@
 # Query with partial cache (for total results)
 $err = $t->get_ok('/?q=baum')
   ->status_is(200)
-  ->text_is('title', 'KorAP: Find »baum« with Poliqarp')
-  ->element_exists('meta[name="DC.title"][content="KorAP: Find »baum« with Poliqarp"]')
+  ->text_is('title', 'KorAP-Test: Find »baum« with Poliqarp')
+  ->element_exists('meta[name="DC.title"][content="KorAP-Test: Find »baum« with Poliqarp"]')
   ->element_exists('body[itemscope][itemtype="http://schema.org/SearchResultsPage"]')
   ->header_isnt('X-Kalamar-Cache', 'true')
   ->content_like(qr!${q}cutOff${q}:true!)
@@ -115,8 +121,8 @@
 # Query without partial cache (unfortunately) (but no total results)
 $err = $t->get_ok('/?q=baum&cutoff=true')
   ->status_is(200)
-  ->text_is('title', 'KorAP: Find »baum« with Poliqarp')
-  ->element_exists('meta[name="DC.title"][content="KorAP: Find »baum« with Poliqarp"]')
+  ->text_is('title', 'KorAP-Test: Find »baum« with Poliqarp')
+  ->element_exists('meta[name="DC.title"][content="KorAP-Test: Find »baum« with Poliqarp"]')
   ->element_exists('body[itemscope][itemtype="http://schema.org/SearchResultsPage"]')
   ->header_isnt('X-Kalamar-Cache', 'true')
   ->content_like(qr!${q}cutOff${q}:true!)
@@ -128,8 +134,8 @@
 # Query with partial cache (but no total results)
 $err = $t->get_ok('/?q=baum&cutoff=true')
   ->status_is(200)
-  ->text_is('title', 'KorAP: Find »baum« with Poliqarp')
-  ->element_exists('meta[name="DC.title"][content="KorAP: Find »baum« with Poliqarp"]')
+  ->text_is('title', 'KorAP-Test: Find »baum« with Poliqarp')
+  ->element_exists('meta[name="DC.title"][content="KorAP-Test: Find »baum« with Poliqarp"]')
   ->element_exists('body[itemscope][itemtype="http://schema.org/SearchResultsPage"]')
   ->header_is('X-Kalamar-Cache', 'true')
   ->content_like(qr!${q}cutOff${q}:true!)
@@ -142,8 +148,8 @@
 # Query with full cache
 $err = $t->get_ok('/?q=baum')
   ->status_is(200)
-  ->text_is('title', 'KorAP: Find »baum« with Poliqarp')
-  ->element_exists('meta[name="DC.title"][content="KorAP: Find »baum« with Poliqarp"]')
+  ->text_is('title', 'KorAP-Test: Find »baum« with Poliqarp')
+  ->element_exists('meta[name="DC.title"][content="KorAP-Test: Find »baum« with Poliqarp"]')
   ->element_exists('body[itemscope][itemtype="http://schema.org/SearchResultsPage"]')
   ->header_is('X-Kalamar-Cache', 'true')
   ->content_like(qr!${q}cutOff${q}:true!)
@@ -156,7 +162,7 @@
 # Query with page information
 $err = $t->get_ok('/?q=der&p=1&count=2' => { 'Accept-Language' => 'en-US, en, de-DE' })
   ->status_is(200)
-  ->text_is('title', 'KorAP: Find »der« with Poliqarp')
+  ->text_is('title', 'KorAP-Test: Find »der« with Poliqarp')
 
   # Total results
   ->text_is('#total-results', '14,581')
@@ -193,7 +199,8 @@
 # Query with page information - next page
 $err = $t->get_ok('/?q=der&p=2&count=2' => { 'Accept-Language' => 'de-DE, en-US, en' })
   ->status_is(200)
-  ->text_is('title', 'KorAP: Finde »der« mit Poliqarp')
+  ->text_is('div.logoaddon', 'Test')
+  ->text_is('title', 'KorAP-Test: Finde »der« mit Poliqarp')
   ->element_exists('#search')
 
   # Total results
