diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/service/BackendServiceConnection.kt b/app/src/main/java/de/kuschku/quasseldroid/util/service/BackendServiceConnection.kt
index c8675375faadff91d99e4d2187d6873cfad4eb74..2d375b908b386912169bf88880dbffa392c9f653 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/util/service/BackendServiceConnection.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/util/service/BackendServiceConnection.kt
@@ -23,7 +23,6 @@ import android.content.ComponentName
 import android.content.Context
 import android.content.Intent
 import android.content.ServiceConnection
-import android.os.Build
 import android.os.IBinder
 import androidx.lifecycle.DefaultLifecycleObserver
 import androidx.lifecycle.LifecycleOwner
@@ -66,11 +65,18 @@ class BackendServiceConnection : ServiceConnection, DefaultLifecycleObserver {
     }
   }
 
-  fun start(intent: Intent = QuasselService.intent(context!!)) {
-    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
-      context?.startForegroundService(intent)
-    } else {
-      context?.startService(intent)
+  fun start(intent: Intent? = null): Boolean {
+    try {
+      context?.let {
+        it.startService(
+          intent
+          ?: QuasselService.intent(it)
+        )
+        return true
+      }
+      return false
+    } catch (e: IllegalStateException) {
+      return false
     }
   }
 
@@ -90,7 +96,9 @@ class BackendServiceConnection : ServiceConnection, DefaultLifecycleObserver {
     }
   }
 
-  override fun onCreate(owner: LifecycleOwner) = start()
+  override fun onCreate(owner: LifecycleOwner) {
+    start()
+  }
 
   override fun onStart(owner: LifecycleOwner) = bind()
 
diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt
index f27c5d3b16919bcd6aec03981e1e8366dfc854e2..a2fa92041e4bb9063abe7c695793e4d9aab9aed1 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt
@@ -26,6 +26,7 @@ import android.content.res.Configuration
 import android.os.Build
 import android.os.Bundle
 import android.view.WindowManager
+import android.widget.Toast
 import androidx.annotation.ColorRes
 import androidx.annotation.DrawableRes
 import de.kuschku.libquassel.session.Backend
@@ -151,7 +152,8 @@ abstract class ServiceBoundActivity :
     if (!reconnect || !accountIdValid) {
       onSelectAccount()
     } else {
-      connection.start()
+      if (!connection.start())
+        Toast.makeText(this, "Could not create QuasselService", Toast.LENGTH_SHORT).show()
       connection.bind()
     }
   }