diff --git a/mythtv/libs/libmythtv/tv_rec.cpp b/mythtv/libs/libmythtv/tv_rec.cpp
index 736d40fe05..577c512800 100644
--- a/mythtv/libs/libmythtv/tv_rec.cpp
+++ b/mythtv/libs/libmythtv/tv_rec.cpp
@@ -1579,6 +1579,20 @@ void TVRec::HandlePendingRecordings(void)
     if (pendingRecordings.empty())
         return;
 
+    // Make sure EIT scan is stopped so it does't interfere
+    if (scanner && HasFlags(kFlagEITScannerRunning))
+    {
+        LOG(VB_CHANNEL, LOG_INFO, LOC + "We may need to start recording "
+            "and the EIT scanner is running, so stopping it.");
+
+        scanner->StopActiveScan();
+        ClearFlags(kFlagEITScannerRunning, __FILE__, __LINE__);
+
+        eitScanStartTime = MythDate::current();
+        eitScanStartTime = eitScanStartTime.addSecs(
+            eitCrawlIdleStart + 30 + eit_start_rand(eitTransportTimeout));
+    }
+
     // If we have a pending recording and AskAllowRecording
     // or DoNotAskAllowRecording is set and the frontend is
     // ready send an ASK_RECORDING query to frontend.
