diff --git a/app/src/main/java/com/futo/platformplayer/UIDialogs.kt b/app/src/main/java/com/futo/platformplayer/UIDialogs.kt
index 0ebf26bd490101fa212040f3260f6b8959cdd0ca..f0b8abeabc14f7efc839afad6cb051693d583845 100644
--- a/app/src/main/java/com/futo/platformplayer/UIDialogs.kt
+++ b/app/src/main/java/com/futo/platformplayer/UIDialogs.kt
@@ -304,12 +304,16 @@ class UIDialogs {
             showDialog(context, R.drawable.ic_error, text, null, null, 0, cancelButtonAction, confirmButtonAction)
         }
 
-        fun showUpdateAvailableDialog(context: Context, lastVersion: Int) {
+        fun showUpdateAvailableDialog(context: Context, lastVersion: Int, hideExceptionButtons: Boolean = false) {
             val dialog = AutoUpdateDialog(context);
             registerDialogOpened(dialog);
             dialog.setOnDismissListener { registerDialogClosed(dialog) };
             dialog.show();
             dialog.setMaxVersion(lastVersion);
+
+            if (hideExceptionButtons) {
+                dialog.hideExceptionButtons()
+            }
         }
 
         fun showChangelogDialog(context: Context, lastVersion: Int) {
diff --git a/app/src/main/java/com/futo/platformplayer/activities/ExceptionActivity.kt b/app/src/main/java/com/futo/platformplayer/activities/ExceptionActivity.kt
index 99a6e1b0b9835647db1b1e1beb7734c92b438c21..c3ba7daab50fca3408ffcbdceca57b6653054b7e 100644
--- a/app/src/main/java/com/futo/platformplayer/activities/ExceptionActivity.kt
+++ b/app/src/main/java/com/futo/platformplayer/activities/ExceptionActivity.kt
@@ -4,6 +4,7 @@ import android.content.Context
 import android.content.Intent
 import android.os.Build
 import android.os.Bundle
+import android.view.View
 import android.widget.LinearLayout
 import android.widget.TextView
 import android.widget.Toast
@@ -15,6 +16,7 @@ import com.futo.platformplayer.logging.LogLevel
 import com.futo.platformplayer.logging.Logging
 import com.futo.platformplayer.setNavigationBarColorAndIcons
 import com.futo.platformplayer.states.StateApp
+import com.futo.platformplayer.states.StateUpdate
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
@@ -28,6 +30,7 @@ class ExceptionActivity : AppCompatActivity() {
     private lateinit var _buttonSubmit: LinearLayout;
     private lateinit var _buttonRestart: LinearLayout;
     private lateinit var _buttonClose: LinearLayout;
+    private lateinit var _buttonCheckForUpdates: LinearLayout;
     private var _file: File? = null;
     private var _submitted = false;
 
@@ -45,6 +48,7 @@ class ExceptionActivity : AppCompatActivity() {
         _buttonSubmit = findViewById(R.id.button_submit);
         _buttonRestart = findViewById(R.id.button_restart);
         _buttonClose = findViewById(R.id.button_close);
+        _buttonCheckForUpdates = findViewById(R.id.button_check_for_updates);
 
         val context = intent.getStringExtra(EXTRA_CONTEXT) ?: getString(R.string.unknown_context);
         val stack = intent.getStringExtra(EXTRA_STACK) ?: getString(R.string.something_went_wrong_missing_stack_trace);
@@ -83,6 +87,17 @@ class ExceptionActivity : AppCompatActivity() {
         _buttonClose.setOnClickListener {
             finish();
         };
+
+        if (!BuildConfig.IS_PLAYSTORE_BUILD) {
+            _buttonCheckForUpdates.visibility = View.VISIBLE
+            _buttonCheckForUpdates.setOnClickListener {
+                lifecycleScope.launch(Dispatchers.IO) {
+                    StateUpdate.instance.checkForUpdates(this@ExceptionActivity, true, true)
+                }
+            }
+        } else {
+            _buttonCheckForUpdates.visibility = View.GONE
+        }
     }
 
     private fun submitFile() {
diff --git a/app/src/main/java/com/futo/platformplayer/dialogs/AutoUpdateDialog.kt b/app/src/main/java/com/futo/platformplayer/dialogs/AutoUpdateDialog.kt
index 3f7fda29cfd747e54a18a9bd77ec7503a3e68122..5e2b72de49e83997db0538e69d1f2c61c6e94bd8 100644
--- a/app/src/main/java/com/futo/platformplayer/dialogs/AutoUpdateDialog.kt
+++ b/app/src/main/java/com/futo/platformplayer/dialogs/AutoUpdateDialog.kt
@@ -96,6 +96,11 @@ class AutoUpdateDialog(context: Context?) : AlertDialog(context) {
         Logger.i(TAG, "Cleared InstallReceiver.onReceiveResult handler.")
     }
 
+    fun hideExceptionButtons() {
+        _buttonNever.visibility = View.GONE
+        _buttonShowChangelog.visibility = View.GONE
+    }
+
     private fun update() {
         _buttonShowChangelog.visibility = Button.GONE;
         _buttonNever.visibility = Button.GONE;
diff --git a/app/src/main/java/com/futo/platformplayer/states/StateUpdate.kt b/app/src/main/java/com/futo/platformplayer/states/StateUpdate.kt
index 7a625a1532b67ea92f6df2fb34bd97197d8968b1..ebc75dd17e6d9a613ac765df8b05f67bc5aa63a9 100644
--- a/app/src/main/java/com/futo/platformplayer/states/StateUpdate.kt
+++ b/app/src/main/java/com/futo/platformplayer/states/StateUpdate.kt
@@ -155,7 +155,7 @@ class StateUpdate {
         }
     }
 
-    suspend fun checkForUpdates(context: Context, showUpToDateToast: Boolean) = withContext(Dispatchers.IO) {
+    suspend fun checkForUpdates(context: Context, showUpToDateToast: Boolean, hideExceptionButtons: Boolean = false) = withContext(Dispatchers.IO) {
         try {
             val client = ManagedHttpClient();
             val latestVersion = downloadVersionCode(client);
@@ -167,7 +167,7 @@ class StateUpdate {
                 if (latestVersion > currentVersion) {
                     withContext(Dispatchers.Main) {
                         try {
-                            UIDialogs.showUpdateAvailableDialog(context, latestVersion);
+                            UIDialogs.showUpdateAvailableDialog(context, latestVersion, hideExceptionButtons);
                         } catch (e: Throwable) {
                             UIDialogs.toast(context, "Failed to show update dialog");
                             Logger.w(TAG, "Error occurred in update dialog.");
diff --git a/app/src/main/res/layout/activity_exception.xml b/app/src/main/res/layout/activity_exception.xml
index 7f88ba94392d36fa09f09e75b5fd413184307cd9..eb1a29bba351b695028516b361f66a7241546eda 100644
--- a/app/src/main/res/layout/activity_exception.xml
+++ b/app/src/main/res/layout/activity_exception.xml
@@ -37,9 +37,22 @@
                     android:fontFamily="@font/inter_extra_light" />
             </FrameLayout>
 
-            <Space
-                android:layout_width="20dp"
-                android:layout_height="match_parent" />
+            <LinearLayout
+                android:id="@+id/button_check_for_updates"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:paddingStart="20dp"
+                android:paddingEnd="20dp"
+                android:gravity="center"
+                android:background="@drawable/background_button_primary_round_4dp"
+                android:layout_gravity="center_horizontal">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:textAlignment="center"
+                    android:text="@string/check_for_updates"/>
+            </LinearLayout>
 
         </LinearLayout>
 
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fabd85da1d4f3259557d34d9eddec2f298163652..274feb828aa579d108d93f6fa1e046fae52aeded 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -749,6 +749,7 @@
     <string name="add_creator">Add Creators</string>
     <string name="select">Select</string>
     <string name="zoom">Zoom</string>
+    <string name="check_to_see_if_an_update_is_available">Check to see if an update is available.</string>
     <string-array name="home_screen_array">
         <item>Recommendations</item>
         <item>Subscriptions</item>