diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/ChatActivity.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/ChatActivity.kt
index e51792e05f05da4b3ff1e97f79a3fea8fc32c908..17638610cfceeb6839614da6bd6bfac630ac3776 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/ChatActivity.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/ChatActivity.kt
@@ -145,6 +145,7 @@ class ChatActivity : ServiceBoundActivity() {
           putBoolean(Keys.Status.reconnect, false)
         }
         backend.value?.disconnect(true)
+        stopService()
         setResult(Activity.RESULT_OK)
         finish()
       }
diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/util/service/ServiceBoundActivity.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/util/service/ServiceBoundActivity.kt
index 07fe3b2d44d03e62a1d076590fb6116e08e785a8..9c8598786de164fedea30630a279ef0864e30b46 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/util/service/ServiceBoundActivity.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/util/service/ServiceBoundActivity.kt
@@ -64,4 +64,9 @@ abstract class ServiceBoundActivity : AppCompatActivity() {
     super.onStop()
     unbindService(connection)
   }
+
+  protected fun stopService() {
+    unbindService(connection)
+    stopService(Intent(this, QuasselService::class.java))
+  }
 }