diff --git a/mutalyzer/website/views.py b/mutalyzer/website/views.py
index 238a0c090b92c8c282a241bc322005df0a869db3..475330b7ce084273bc61627e5a24221d2b0ccff0 100644
--- a/mutalyzer/website/views.py
+++ b/mutalyzer/website/views.py
@@ -34,24 +34,26 @@ from mutalyzer.services import soap
 website = Blueprint('website', __name__)
 
 
-global_context = {
-    'mutalyzer_version'   : mutalyzer.__version__,
-    'nomenclature_version': mutalyzer.NOMENCLATURE_VERSION,
-    'release_date'        : mutalyzer.__date__,
-    'release'             : mutalyzer.__version_info__[-1] != 'dev',
-    'copyright_years'     : mutalyzer.COPYRIGHT_YEARS,
-    'contact_email'       : settings.EMAIL,
-    'soap_wsdl_url'       : settings.SOAP_WSDL_URL,
-    'json_root_url'       : settings.JSON_ROOT_URL,
-    'piwik'               : settings.PIWIK,
-    'piwik_base_url'      : settings.PIWIK_BASE_URL,
-    'piwik_site_id'       : settings.PIWIK_SITE_ID,
-    'announcement'        : announce.get_announcement()}
-
-
-@website.context_processor
-def add_globals():
-    return global_context
+def global_context():
+    """
+    Create a context of global template variables.
+    """
+    # Note that this cannot be a static module variable, since we want to call
+    # `announce.get_announcement()` on each request, not once during startup.
+    return {
+        'mutalyzer_version'   : mutalyzer.__version__,
+        'nomenclature_version': mutalyzer.NOMENCLATURE_VERSION,
+        'release_date'        : mutalyzer.__date__,
+        'release'             : mutalyzer.__version_info__[-1] != 'dev',
+        'copyright_years'     : mutalyzer.COPYRIGHT_YEARS,
+        'contact_email'       : settings.EMAIL,
+        'soap_wsdl_url'       : settings.SOAP_WSDL_URL,
+        'json_root_url'       : settings.JSON_ROOT_URL,
+        'piwik'               : settings.PIWIK,
+        'piwik_base_url'      : settings.PIWIK_BASE_URL,
+        'piwik_site_id'       : settings.PIWIK_SITE_ID,
+        'announcement'        : announce.get_announcement()
+    }
 
 
 def request_terms():
@@ -64,6 +66,11 @@ def request_terms():
     return terms
 
 
+@website.context_processor
+def add_globals():
+    return global_context()
+
+
 @website.errorhandler(404)
 def error_not_found(error):
     return render_template('not-found.html', terms=request_terms()), 404
@@ -72,7 +79,7 @@ def error_not_found(error):
 @website.app_errorhandler(404)
 def app_error_not_found(error):
     return render_template('not-found.html', terms=request_terms(),
-                           **global_context), 404
+                           **global_context()), 404
 
 
 @website.route('/')