diff --git a/src/main.js b/src/main.js
index 5314437b..b8dfcf68 100644
--- a/src/main.js
+++ b/src/main.js
@@ -132,7 +132,9 @@ window.fetch('/api/statusnet/config.json')
           { name: 'root',
             path: '/',
             redirect: to => {
-              return (store.state.users.currentUser ? redirectRootLogin : redirectRootNoLogin) || '/main/all'
+              return (store.state.users.currentUser
+                      ? store.state.instance.redirectRootLogin
+                      : store.state.instance.redirectRootNoLogin) || '/main/all'
             }},
           { path: '/main/all', component: PublicAndExternalTimeline },
           { path: '/main/public', component: PublicTimeline },
diff --git a/src/modules/instance.js b/src/modules/instance.js
index a4fc9651..cb724821 100644
--- a/src/modules/instance.js
+++ b/src/modules/instance.js
@@ -1,4 +1,5 @@
 import { set } from 'vue'
+import StyleSetter from '../services/style_setter/style_setter.js'
 
 const defaultState = {
   // Stuff from static/config.json and apiConfig
@@ -7,7 +8,7 @@ const defaultState = {
   textlimit: 5000,
   server: 'http://localhost:4040/',
   theme: 'pleroma-dark',
-  background: 'img.png',
+  background: '/static/aurora_borealis.jpg',
   logo: '/static/logo.png',
   logoMask: true,
   logoMargin: '.2em',
@@ -40,7 +41,9 @@ const instance = {
   state: defaultState,
   mutations: {
     setInstanceOption (state, { name, value }) {
-      set(state, name, value)
+      if (typeof value !== 'undefined') {
+        set(state, name, value)
+      }
     }
   },
   actions: {
@@ -50,6 +53,8 @@ const instance = {
         case 'name':
           dispatch('setPageTitle')
           break
+        case 'theme':
+          StyleSetter.setPreset(value, commit)
       }
     }
   }