diff --git a/app/src/main/java/audio/funkwhale/ffa/activities/MainActivity.kt b/app/src/main/java/audio/funkwhale/ffa/activities/MainActivity.kt
index f5fe1d83c6a376a5cf4ab7fc323cdba9c70d0a91..b3c36b446759d0e90fae47ff23372fda57fadb5d 100644
--- a/app/src/main/java/audio/funkwhale/ffa/activities/MainActivity.kt
+++ b/app/src/main/java/audio/funkwhale/ffa/activities/MainActivity.kt
@@ -69,7 +69,9 @@ class MainActivity : AppCompatActivity() {
     LOGOUT(1001)
   }
 
-  private val favoritedRepository = FavoritedRepository(this)
+  private val favoritedRepository by lazy {
+    FavoritedRepository(applicationContext)
+  }
   private var menu: Menu? = null
 
   private lateinit var binding: ActivityMainBinding
@@ -82,8 +84,7 @@ class MainActivity : AppCompatActivity() {
 
   override fun onCreate(savedInstanceState: Bundle?) {
     super.onCreate(savedInstanceState)
-    AppContext.init(this)
-
+    AppContext.init(applicationContext)
     binding = ActivityMainBinding.inflate(layoutInflater)
 
     (supportFragmentManager.findFragmentById(R.id.now_playing) as NowPlayingFragment).apply {
@@ -141,15 +142,15 @@ class MainActivity : AppCompatActivity() {
     super.onResume()
 
     binding.nowPlaying.getFragment<NowPlayingFragment>().apply {
-      favoritedRepository.update(this@MainActivity, lifecycleScope)
+      favoritedRepository.update(applicationContext, lifecycleScope)
 
-      startService(Intent(this@MainActivity, PlayerService::class.java))
-      DownloadService.start(this@MainActivity, PinService::class.java)
+      startService(Intent(applicationContext, PlayerService::class.java))
+      DownloadService.start(applicationContext, PinService::class.java)
 
       CommandBus.send(Command.RefreshService)
 
       lifecycleScope.launch(IO) {
-        Userinfo.get(this@MainActivity, oAuth)
+        Userinfo.get(applicationContext, oAuth)
       }
     }
   }
@@ -343,7 +344,7 @@ class MainActivity : AppCompatActivity() {
         try {
           Fuel
             .post(mustNormalizeUrl("/api/v1/history/listenings/"))
-            .authorize(this@MainActivity, oAuth)
+            .authorize(applicationContext, oAuth)
             .header("Content-Type", "application/json")
             .body(Gson().toJson(mapOf("track" to track.id)))
             .awaitStringResponse()
diff --git a/app/src/main/java/audio/funkwhale/ffa/utils/AppContext.kt b/app/src/main/java/audio/funkwhale/ffa/utils/AppContext.kt
index 7da9415c0ce3d9457b0168d8a39e6f79323d7730..cacbfed5d5de5c1e715534d4ae071ec7d4833f14 100644
--- a/app/src/main/java/audio/funkwhale/ffa/utils/AppContext.kt
+++ b/app/src/main/java/audio/funkwhale/ffa/utils/AppContext.kt
@@ -1,7 +1,6 @@
 package audio.funkwhale.ffa.utils
 
 import android.annotation.SuppressLint
-import android.app.Activity
 import android.app.NotificationChannel
 import android.app.NotificationManager
 import android.content.BroadcastReceiver
@@ -23,7 +22,7 @@ object AppContext {
   const val PAGE_SIZE = 50
   const val TRANSITION_DURATION = 300L
 
-  fun init(context: Activity) {
+  fun init(context: Context) {
     setupNotificationChannels(context)
 
     // CastContext.getSharedInstance(context)