diff --git a/full/src/main/java/de/ids_mannheim/korap/dao/DefaultSettingDao.java b/full/src/main/java/de/ids_mannheim/korap/dao/DefaultSettingDao.java
index 813fb72..bc7afdd 100644
--- a/full/src/main/java/de/ids_mannheim/korap/dao/DefaultSettingDao.java
+++ b/full/src/main/java/de/ids_mannheim/korap/dao/DefaultSettingDao.java
@@ -58,13 +58,13 @@
     public void deleteDefaultSetting (String username)
             throws KustvaktException {
         ParameterChecker.checkObjectValue(username, "defaultSetting");
-        DefaultSetting defaultSetting = retrieveDefautlSetting(username);
+        DefaultSetting defaultSetting = retrieveDefaultSetting(username);
         if (defaultSetting != null){
             entityManager.remove(defaultSetting);
         }
     }
 
-    public DefaultSetting retrieveDefautlSetting (String username)
+    public DefaultSetting retrieveDefaultSetting (String username)
             throws KustvaktException {
         ParameterChecker.checkStringValue(username, "username");
 
diff --git a/full/src/main/java/de/ids_mannheim/korap/service/DefaultSettingService.java b/full/src/main/java/de/ids_mannheim/korap/service/DefaultSettingService.java
index fc924db..96ebeb8 100644
--- a/full/src/main/java/de/ids_mannheim/korap/service/DefaultSettingService.java
+++ b/full/src/main/java/de/ids_mannheim/korap/service/DefaultSettingService.java
@@ -61,7 +61,7 @@
         processor.readQuietly(map, false);
 
         DefaultSetting defaultSetting =
-                settingDao.retrieveDefautlSetting(username);
+                settingDao.retrieveDefaultSetting(username);
         if (defaultSetting == null) {
             createDefaultSetting(username, processor);
             return HttpStatus.SC_CREATED;
@@ -99,7 +99,7 @@
     public String retrieveDefaultSettings (String username)
             throws KustvaktException {
         DefaultSetting defaultSetting =
-                settingDao.retrieveDefautlSetting(username);
+                settingDao.retrieveDefaultSetting(username);
         if (defaultSetting == null) {
             return null;
         }
@@ -110,7 +110,7 @@
             throws KustvaktException {
         username = verifiyUsername(username, contextUsername);
         DefaultSetting defaultSetting =
-                settingDao.retrieveDefautlSetting(username);
+                settingDao.retrieveDefaultSetting(username);
 
         String jsonSettings = defaultSetting.getSettings();
         UserSettingProcessor processor = new UserSettingProcessor(jsonSettings);
diff --git a/full/src/main/resources/kustvakt.conf b/full/src/main/resources/kustvakt.conf
index ec540f9..24dcb47 100644
--- a/full/src/main/resources/kustvakt.conf
+++ b/full/src/main/resources/kustvakt.conf
@@ -36,6 +36,7 @@
 default.foundry.dependency = malt
 default.foundry.constituent = corenlp
 default.foundry.morphology = marmot
+default.foundry.surface = base
 
 ## delete configuration (default hard)
 # delete.auto.group = hard
