diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt
index 1d03c732ac9f6b026c4635b1d90b9a778c66d6aa..c2f9e7bd1397ed25b928c941d702d8c6d5bb99a2 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt
@@ -2,7 +2,6 @@ package de.rki.coronawarnapp.ui.main
 
 import android.content.Intent
 import android.os.Bundle
-import android.util.Log
 import androidx.appcompat.app.AppCompatActivity
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentManager
@@ -69,8 +68,7 @@ class MainActivity : AppCompatActivity() {
         super.onResume()
         ConnectivityHelper.registerNetworkStatusCallback(this, callbackNetwork)
         ConnectivityHelper.registerBluetoothStatusCallback(this, callbackBluetooth)
-        Log.d(TAG, "Background work is available: ${!ConnectivityHelper.isDataSaverEnabled(this)}")
-        settingsViewModel.updateBackgroundJobEnabled(!ConnectivityHelper.isDataSaverEnabled(this))
+        settingsViewModel.updateBackgroundJobEnabled(ConnectivityHelper.isBackgroundJobEnabled(this))
         scheduleWork()
         showDialogWithStacktraceIfPreviouslyCrashed()
     }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt
index 457de57a667cafdba40b88c47c899fa93bbaf9fe..7cd591d3bbed1b4d5810fcf9d5bbc54fd8a989b7 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt
@@ -1,5 +1,6 @@
 package de.rki.coronawarnapp.util
 
+import android.app.ActivityManager
 import android.bluetooth.BluetoothAdapter
 import android.content.BroadcastReceiver
 import android.content.Context
@@ -121,6 +122,20 @@ object ConnectivityHelper {
         }
     }
 
+    /**
+     * Checks if background jobs are enabled
+     *
+     * @param context the context
+     *
+     * @return Boolean
+     *
+     * @see isDataSaverEnabled
+     * @see isBackgroundRestricted
+     */
+    fun isBackgroundJobEnabled(context: Context): Boolean {
+        return !(isDataSaverEnabled(context) || isBackgroundRestricted(context))
+    }
+
     /**
      * For API level 24+ check if data saver is enabled
      * Else always return false
@@ -131,13 +146,30 @@ object ConnectivityHelper {
      *
      * @see ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED
      */
-    fun isDataSaverEnabled(context: Context): Boolean {
+    private fun isDataSaverEnabled(context: Context): Boolean {
         return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
             val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
             connectivityManager.restrictBackgroundStatus != ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED
         } else false
     }
 
+    /**
+     * For API level 28+ check if background is restricted
+     * Else always return false
+     *
+     * @param context the context
+     *
+     * @return Boolean
+     *
+     * @see isBackgroundRestricted
+     */
+    private fun isBackgroundRestricted(context: Context): Boolean {
+        val activityManager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+            return activityManager.isBackgroundRestricted
+        } else return false
+    }
+
     /**
      * Get bluetooth enabled status.
      *