Index: programs/mythfrontend/playbackbox.cpp
===================================================================
--- programs/mythfrontend/playbackbox.cpp	(revision 8719)
+++ programs/mythfrontend/playbackbox.cpp	(working copy)
@@ -130,7 +130,8 @@
     previewPixmap = NULL;
     previewStartts = QDateTime::currentDateTime();
     previewChanid = "";
-    
+    previewSuspend = false;
+
     updateFreeSpace = true;
     freeSpaceTotal = 0;
     freeSpaceUsed = 0;
@@ -1947,7 +1948,6 @@
     lastProgram = new ProgramInfo(*tvrec);
 
     playingSomething = false;
-    state = kStarting; // restart playback preview
     setEnabled(true);
 
     bool doremove = false;
@@ -1972,6 +1972,8 @@
 
     delete tv;
 
+    previewSuspend = doremove;
+
     if (doremove)
     {
         remove(tvrec);
@@ -1980,6 +1982,10 @@
     {
         promptEndOfRecording(tvrec);
     }
+    else
+    {
+        state = kStarting; // restart playback preview
+    }
 
     delete tvrec;
 
@@ -2910,6 +2916,7 @@
 
 void PlaybackBox::noDelete(void)
 {
+    previewSuspend = false;
     if (!expectingPopup)
         return;
 
@@ -2944,7 +2951,10 @@
 void PlaybackBox::doDelete(void)
 {
     if (!expectingPopup)
+    {
+        previewSuspend = false;
         return;
+    }
 
     cancelPopup();
 
@@ -2952,6 +2962,7 @@
         (!REC_CAN_BE_DELETED(delitem)))
     {
         showAvailablePopup(delitem);
+        previewSuspend = false;
         return;
     }
 
@@ -2966,6 +2977,7 @@
         ProgramInfo *tmpItem = findMatchingProg(delitem);
         if (tmpItem)
             tmpItem->availableStatus = asPendingDelete;
+        previewSuspend = false;
     }
     else
         showDeletePopup(delitem, ForceDeleteRecording);
@@ -2974,7 +2986,10 @@
 void PlaybackBox::doForceDelete(void)
 {
     if (!expectingPopup)
+    {
+        previewSuspend = false;
         return;
+    }
 
     cancelPopup();
 
@@ -2982,6 +2997,7 @@
         (!REC_CAN_BE_DELETED(delitem)))
     {
         showAvailablePopup(delitem);
+        previewSuspend = false;
         return;
     }
 
@@ -2995,7 +3011,10 @@
 void PlaybackBox::doDeleteForgetHistory(void)
 {
     if (!expectingPopup)
+    {
+        previewSuspend = false;
         return;
+    }
 
     cancelPopup();
 
@@ -3003,6 +3022,7 @@
         (!REC_CAN_BE_DELETED(delitem)))
     {
         showAvailablePopup(delitem);
+        previewSuspend = false;
         return;
     }
 
@@ -3017,6 +3037,7 @@
         ProgramInfo *tmpItem = findMatchingProg(delitem);
         if (tmpItem)
             tmpItem->availableStatus = asPendingDelete;
+        previewSuspend = false;
     }
     else
         showDeletePopup(delitem, ForceDeleteRecording);
@@ -3584,7 +3605,16 @@
         
         return retpixmap;
     }
+    else if ((asPendingDelete == pginfo->availableStatus) || previewSuspend)
+    {
+        VERBOSE(VB_IMPORTANT, "previewSuspend or pendingDelete...");
+        if (previewPixmap)
+            retpixmap = *previewPixmap;
 
+        return retpixmap;
+    }
+    VERBOSE(VB_IMPORTANT, "getting preview...");
+
     if (previewPixmap)
     {
         delete previewPixmap;
Index: programs/mythfrontend/playbackbox.h
===================================================================
--- programs/mythfrontend/playbackbox.h	(revision 8719)
+++ programs/mythfrontend/playbackbox.h	(working copy)
@@ -330,6 +330,7 @@
     QDateTime previewLastModified;
     QDateTime previewFilets;
     QDateTime previewStartts;
+    bool      previewSuspend;
     QString previewChanid;
     int listOrder;
 
