diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/service/QuasselService.java b/app/src/main/java/de/kuschku/quasseldroid_ng/service/QuasselService.java
index 8a75f4385d911b00da17b8f21a0e820c5b0e0419..4e2df1296f868cf50dee060d7514ba1577d561b3 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/service/QuasselService.java
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/service/QuasselService.java
@@ -69,7 +69,6 @@ public class QuasselService extends Service {
         public void stopBackgroundThread() {
             if (bgThread != null) bgThread.close();
             bgThread = null;
-            notify(bgThread);
         }
 
         public void addCallback(Consumer<ClientBackgroundThread> consumer) {
diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java
index 162695bbe966cde579ad18491269bd1257875c8f..63943695afbcf603dab0e92177734426a91fd6bd 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java
@@ -158,6 +158,7 @@ public class MainActivity extends BoundActivity {
                 return true;
             case R.id.action_reauth:
                 context.settings().lastAccount.set("");
+                stopConnection();
                 finish();
                 return true;
             default:
diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundActivity.java
index 5255927c1bc17bee418bffd610c9f87e92ae7268..ca2b1aac29e9db030867447d96bcb5340dd914fb 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundActivity.java
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundActivity.java
@@ -37,8 +37,8 @@ import de.kuschku.quasseldroid_ng.ui.theme.AppContext;
 import de.kuschku.quasseldroid_ng.util.accounts.Account;
 
 public abstract class BoundActivity extends AppCompatActivity {
+    protected AppContext context = new AppContext();
     private QuasselService.LocalBinder binder;
-
     private ServiceConnection connection = new ServiceConnection() {
         @Override
         public void onServiceConnected(ComponentName name, IBinder service) {
@@ -56,8 +56,6 @@ public abstract class BoundActivity extends AppCompatActivity {
         }
     };
 
-    protected AppContext context = new AppContext();
-
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         ServiceHelper.initTheme(context, this);
@@ -102,4 +100,10 @@ public abstract class BoundActivity extends AppCompatActivity {
             provider.event.registerSticky(this);
         context.withProvider(provider);
     }
+
+    protected void stopConnection() {
+        if (binder != null) {
+            binder.stopBackgroundThread();
+        }
+    }
 }
diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundFragment.java b/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundFragment.java
index bfa02e762cfebc1746ed2c996cd050549acb675a..ed9eec33378825aacddeb732f955c7cd4ad6cf1d 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundFragment.java
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundFragment.java
@@ -37,8 +37,8 @@ import de.kuschku.quasseldroid_ng.ui.theme.AppContext;
 import de.kuschku.quasseldroid_ng.util.accounts.Account;
 
 public abstract class BoundFragment extends Fragment {
+    protected AppContext context = new AppContext();
     private QuasselService.LocalBinder binder;
-
     private ServiceConnection connection = new ServiceConnection() {
         @Override
         public void onServiceConnected(ComponentName name, IBinder service) {
@@ -56,8 +56,6 @@ public abstract class BoundFragment extends Fragment {
         }
     };
 
-    protected AppContext context = new AppContext();
-
     @Override
     public void onCreate(@Nullable Bundle savedInstanceState) {
         ServiceHelper.initTheme(context, getActivity());
@@ -101,4 +99,10 @@ public abstract class BoundFragment extends Fragment {
             provider.event.registerSticky(this);
         context.withProvider(provider);
     }
+
+    protected void stopConnection() {
+        if (binder != null) {
+            binder.stopBackgroundThread();
+        }
+    }
 }