diff --git a/mythtv/libs/libmythui/mythmainwindow.cpp b/mythtv/libs/libmythui/mythmainwindow.cpp
index 7346643a5b..825a092b68 100644
--- a/mythtv/libs/libmythui/mythmainwindow.cpp
+++ b/mythtv/libs/libmythui/mythmainwindow.cpp
@@ -506,6 +506,10 @@ MythMainWindow::MythMainWindow(const bool useDB)
     connect(this, SIGNAL(signalSetDrawEnabled(bool)),
             this, SLOT(SetDrawEnabled(bool)),
             Qt::BlockingQueuedConnection);
+#ifdef Q_OS_ANDROID
+    connect(qApp, SIGNAL(applicationStateChanged(Qt::ApplicationState)),
+            this, SLOT(onApplicationStateChange(Qt::ApplicationState)));
+#endif
 
     // We need to listen for playback start/end events
     gCoreContext->addListener(this);
@@ -3146,4 +3150,19 @@ void MythMainWindow::DisableIdleTimer(bool disableIdle)
         QMetaObject::invokeMethod(d->m_idleTimer, "start");
 }
 
+void MythMainWindow::onApplicationStateChange(Qt::ApplicationState state)
+{
+    LOG(VB_GENERAL, LOG_NOTICE, QString("Application State Changed to %1").arg(state));
+    switch (state)
+    {
+        case Qt::ApplicationState::ApplicationActive:
+            PopDrawDisabled();
+            break;
+        case Qt::ApplicationState::ApplicationSuspended:
+            PushDrawDisabled();
+            break;
+        default:
+            break;
+    }
+}
 /* vim: set expandtab tabstop=4 shiftwidth=4: */
diff --git a/mythtv/libs/libmythui/mythmainwindow.h b/mythtv/libs/libmythui/mythmainwindow.h
index 876b51ee19..650a220887 100644
--- a/mythtv/libs/libmythui/mythmainwindow.h
+++ b/mythtv/libs/libmythui/mythmainwindow.h
@@ -150,6 +150,7 @@ class MUI_PUBLIC MythMainWindow : public QWidget
     void animate();
     void doRemoteScreenShot(QString filename, int x, int y);
     void SetDrawEnabled(bool enable);
+    void onApplicationStateChange(Qt::ApplicationState state);
 
   signals:
     void signalRemoteScreenShot(QString filename, int x, int y);
