diff --git a/opentech/public/mailchimp/migrations/0001_add_newsletter_setting.py b/opentech/public/mailchimp/migrations/0001_add_newsletter_setting.py
new file mode 100644
index 0000000000000000000000000000000000000000..0fba02a23744a9e84236495a361fda7416c6dde1
--- /dev/null
+++ b/opentech/public/mailchimp/migrations/0001_add_newsletter_setting.py
@@ -0,0 +1,27 @@
+# Generated by Django 2.1.11 on 2019-10-03 12:56
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    initial = True
+
+    dependencies = [
+        ('wagtailcore', '0041_group_collection_permissions_verbose_name_plural'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='NewsletterSettings',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('newsletter_title', models.CharField(default='Get the latest internet freedom news', help_text='The title of the newsletter signup form.', max_length=255, verbose_name='Newsletter title')),
+                ('site', models.OneToOneField(editable=False, on_delete=django.db.models.deletion.CASCADE, to='wagtailcore.Site')),
+            ],
+            options={
+                'verbose_name': 'newsletter settings',
+            },
+        ),
+    ]
diff --git a/opentech/public/mailchimp/models.py b/opentech/public/mailchimp/models.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b337a66a4b9b3af65bc69216040e8679c6c68900 100644
--- a/opentech/public/mailchimp/models.py
+++ b/opentech/public/mailchimp/models.py
@@ -0,0 +1,21 @@
+from django.db import models
+
+from wagtail.admin.edit_handlers import FieldPanel
+from wagtail.contrib.settings.models import BaseSetting, register_setting
+
+
+@register_setting
+class NewsletterSettings(BaseSetting):
+    class Meta:
+        verbose_name = 'newsletter settings'
+
+    newsletter_title = models.CharField(
+        "Newsletter title",
+        max_length=255,
+        default='Get the latest internet freedom news',
+        help_text='The title of the newsletter signup form.',
+    )
+
+    panels = [
+        FieldPanel('newsletter_title'),
+    ]
diff --git a/opentech/public/mailchimp/templates/mailchimp/newsletter_signup.html b/opentech/public/mailchimp/templates/mailchimp/newsletter_signup.html
index 5308980c8f72e8dec699902663a28bc8e6ff0405..63ede4bfd2a6fdd8d1d821f46dff591b26a29d58 100644
--- a/opentech/public/mailchimp/templates/mailchimp/newsletter_signup.html
+++ b/opentech/public/mailchimp/templates/mailchimp/newsletter_signup.html
@@ -1,5 +1,7 @@
+{% if newsletter_enabled %}
 {% load static i18n %}
-<h4>Get the latest internet freedom news</h4>
+
+<h4>{{ settings.mailchimp.NewsletterSettings.newsletter_title }}</h4>
 <form class="form newsletter-form" action="#" data-actionpath="{{ PUBLIC_SITE.root_url }}{% url "newsletter:subscribe" %}" method="post">
     <div>
         {% for field in newsletter_form %}
@@ -20,3 +22,6 @@
 {% block extra_js %}
     <script src="{% static 'js/public/protect-form.js' %}"></script>
 {% endblock %}
+{% else %}
+Set MAILCHIMP_API_KEY and MAILCHIMP_LIST_ID to activate newsletter form.
+{% endif %}
diff --git a/opentech/public/utils/context_processors.py b/opentech/public/utils/context_processors.py
index 3986dc1e684e0d4fc6e04f5be36c938c32fa4788..dd24c7ced597955b33176573bd81e5599bb7bece 100644
--- a/opentech/public/utils/context_processors.py
+++ b/opentech/public/utils/context_processors.py
@@ -10,6 +10,7 @@ def global_vars(request):
         'APPLY_SITE': ApplyHomePage.objects.first().get_site(),
         'PUBLIC_SITE': HomePage.objects.first().get_site(),
         'newsletter_form': NewsletterForm(),
+        'newsletter_enabled': settings.MAILCHIMP_API_KEY and settings.MAILCHIMP_LIST_ID,
         'ORG_LONG_NAME': settings.ORG_LONG_NAME,
         'ORG_SHORT_NAME': settings.ORG_SHORT_NAME,
         'ORG_EMAIL': settings.ORG_EMAIL,
diff --git a/opentech/public/utils/migrations/0003_add_site_logo_setting.py b/opentech/public/utils/migrations/0003_add_site_logo_setting.py
new file mode 100644
index 0000000000000000000000000000000000000000..3585554fbb52cb7e072389db5ca1ad935c602f89
--- /dev/null
+++ b/opentech/public/utils/migrations/0003_add_site_logo_setting.py
@@ -0,0 +1,25 @@
+# Generated by Django 2.1.11 on 2019-10-03 12:08
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('images', '0003_customimage_drupal_id'),
+        ('utils', '0002_add_footer_content_setting'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='systemmessagessettings',
+            name='site_logo_default',
+            field=models.ForeignKey(blank=True, help_text='Default site logo', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='images.CustomImage'),
+        ),
+        migrations.AddField(
+            model_name='systemmessagessettings',
+            name='site_logo_mobile',
+            field=models.ForeignKey(blank=True, help_text='Mobil site logo (if not set default will be used)', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='images.CustomImage'),
+        ),
+    ]
diff --git a/opentech/public/utils/models.py b/opentech/public/utils/models.py
index 2d8055aa28dc462541e2ea9365b05283decccfcb..21d4d353f92f625cc55c124a63314c1f3ec70d96 100644
--- a/opentech/public/utils/models.py
+++ b/opentech/public/utils/models.py
@@ -228,6 +228,24 @@ class SystemMessagesSettings(BaseSetting):
     class Meta:
         verbose_name = 'system settings'
 
+    site_logo_default = models.ForeignKey(
+        'images.CustomImage',
+        null=True,
+        blank=True,
+        on_delete=models.SET_NULL,
+        related_name='+',
+        help_text='Default site logo',
+    )
+
+    site_logo_mobile = models.ForeignKey(
+        'images.CustomImage',
+        null=True,
+        blank=True,
+        on_delete=models.SET_NULL,
+        related_name='+',
+        help_text='Mobil site logo (if not set default will be used)',
+    )
+
     footer_content = models.TextField(
         "Footer content",
         default='<p>Configure this text in Wagtail admin -> Settings -> System settings.</p>',
@@ -245,6 +263,10 @@ class SystemMessagesSettings(BaseSetting):
     )
 
     panels = [
+        MultiFieldPanel([
+            FieldPanel('site_logo_default'),
+            FieldPanel('site_logo_mobile'),
+        ], 'Site logo'),
         FieldPanel('footer_content'),
         MultiFieldPanel([
             FieldPanel('title_404'),
diff --git a/opentech/templates/base.html b/opentech/templates/base.html
index 57c690e3b1e538d441c6e2f47b890764d5fd4d11..98d31618532cf10368970a059ab96975bcf14b22 100644
--- a/opentech/templates/base.html
+++ b/opentech/templates/base.html
@@ -83,9 +83,20 @@
 
                 <div class="header__inner wrapper wrapper--large">
                     <a href="{% slugurl 'home' %}" aria-label="Home link">
+                    {% if settings.utils.SystemMessagesSettings.site_logo_default %}
+                        {% image settings.utils.SystemMessagesSettings.site_logo_default width-215 as logo_default %}
+                        <img class="header__logo header__logo--desktop" src="{{ logo_default.url }}">
+                        {% if settings.utils.SystemMessagesSettings.site_logo_mobile %}
+                            {% image settings.utils.SystemMessagesSettings.site_logo_mobile width-60 as logo_mobile %}
+                            <img class="header__logo header__logo--mobile" src="{{ logo_mobile.url }}">
+                        {% else %}
+                            <img class="header__logo header__logo--mobile" src="{{ logo_default.url }}">
+                        {% endif %}
+                    {% else %}
                         <svg class="header__logo header__logo--desktop header__logo--desktop-light"><use xlink:href="#logo-desktop"></use></svg>
                         <svg class="header__logo header__logo--desktop header__logo--desktop-dark"><use xlink:href="#logo-desktop--dark"></use></svg>
                         <svg class="header__logo header__logo--mobile"><use xlink:href="#logo-mobile"></use></svg>
+                    {% endif %}
                     </a>
 
                     <div class="header__inner header__inner--mobile-buttons">
@@ -112,7 +123,12 @@
                     <section class="header__menus header__menus--mobile">
                         <div class="header__inner header__inner--menu-open">
                             <a href="{% slugurl 'home' %}" aria-label="Home link">
+                            {% if settings.utils.SystemMessagesSettings.site_logo_mobile %}
+                                {% image settings.utils.SystemMessagesSettings.site_logo_mobile width-60 as logo_mobile %}
+                                <img class="header__logo header__logo--mobile" src="{{ logo_mobile.url }}">
+                            {% else %}
                                 <svg class="header__logo header__logo--mobile"><use xlink:href="#logo-mobile"></use></svg>
+                            {% endif %}
                             </a>
                             <div class="header__inner header__inner--mobile-buttons">
                                 <button class="button js-mobile-search-toggle" aria-haspopup="true" aria-label="Toggle mobile search">