diff --git a/app/src/androidTest/java/de/kuschku/quasseldroid/ExampleInstrumentedTest.kt b/app/src/androidTest/java/de/kuschku/quasseldroid/ExampleInstrumentedTest.kt
deleted file mode 100644
index d6985543ef2c765ee9f63b19493f25dec424acba..0000000000000000000000000000000000000000
--- a/app/src/androidTest/java/de/kuschku/quasseldroid/ExampleInstrumentedTest.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-package de.kuschku.quasseldroid
-
-import android.support.test.InstrumentationRegistry
-import android.support.test.runner.AndroidJUnit4
-import org.junit.Assert.assertEquals
-import org.junit.Test
-import org.junit.runner.RunWith
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * See [testing documentation](http://d.android.com/tools/testing).
- */
-@RunWith(AndroidJUnit4::class)
-class ExampleInstrumentedTest {
-  @Test
-  fun useAppContext() {
-    // Context of the app under test.
-    val appContext = InstrumentationRegistry.getTargetContext()
-    assertEquals("de.kuschku.quasseldroid_ng", appContext.packageName)
-  }
-}
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/SettingsFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/SettingsFragment.kt
index 7d580fb37d1f8dba18fd833ae34ad62dd199d929..76e93128abd0963f985da773533cedd441a7db1e 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/SettingsFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/SettingsFragment.kt
@@ -20,11 +20,11 @@ abstract class SettingsFragment : ServiceBoundFragment() {
 
   override fun onOptionsItemSelected(item: MenuItem?) = when (item?.itemId) {
     R.id.action_save -> {
-      onSave()
+      if (onSave()) activity?.finish()
       true
     }
     else             -> super.onOptionsItemSelected(item)
   }
 
-  abstract fun onSave()
+  abstract fun onSave(): Boolean
 }
\ No newline at end of file
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragment.kt
index 972ac1a518f4e1ece6bb322c6d9de7233c8599f7..098c19836bea60d85c8ccd78e66c9be6359bd741 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragment.kt
@@ -80,22 +80,22 @@ class NetworkConfigFragment : SettingsFragment() {
   }
 
 
-  override fun onSave() {
-    networkConfig?.let {
-      val config = it.copy()
-
-      config.setPingTimeoutEnabled(pingTimeoutEnabled.isChecked)
-      pingInterval.text.toString().toIntOrNull()?.let(config::setPingInterval)
-      maxPingCount.text.toString().toIntOrNull()?.let(config::setMaxPingCount)
-
-      config.setAutoWhoEnabled(autoWhoEnabled.isChecked)
-      autoWhoInterval.text.toString().toIntOrNull()?.let(config::setAutoWhoInterval)
-      autoWhoNickLimit.text.toString().toIntOrNull()?.let(config::setAutoWhoNickLimit)
-      autoWhoDelay.text.toString().toIntOrNull()?.let(config::setAutoWhoDelay)
-      config.setStandardCtcp(standardCtcp.isChecked)
-
-      val properties = config.toVariantMap()
-      it.requestUpdate(properties)
-    }
-  }
+  override fun onSave() = networkConfig?.let {
+    val config = it.copy()
+
+    config.setPingTimeoutEnabled(pingTimeoutEnabled.isChecked)
+    pingInterval.text.toString().toIntOrNull()?.let(config::setPingInterval)
+    maxPingCount.text.toString().toIntOrNull()?.let(config::setMaxPingCount)
+
+    config.setAutoWhoEnabled(autoWhoEnabled.isChecked)
+    autoWhoInterval.text.toString().toIntOrNull()?.let(config::setAutoWhoInterval)
+    autoWhoNickLimit.text.toString().toIntOrNull()?.let(config::setAutoWhoNickLimit)
+    autoWhoDelay.text.toString().toIntOrNull()?.let(config::setAutoWhoDelay)
+    config.setStandardCtcp(standardCtcp.isChecked)
+
+    val properties = config.toVariantMap()
+    it.requestUpdate(properties)
+
+    true
+  } ?: false
 }
\ No newline at end of file