Index: libs/libmythtv/tv_rec.cpp
===================================================================
--- libs/libmythtv/tv_rec.cpp	(revision 10611)
+++ libs/libmythtv/tv_rec.cpp	(working copy)
@@ -3285,7 +3285,13 @@
             sd = GetDTVSignalMonitor()->GetStreamData();
         TeardownSignalMonitor();
         ClearFlags(kFlagSignalMonitorRunning);
-        //delete sd; // <- causes segfault
+
+        // Delete StreamData if it is not in use by the recorder.
+        MPEGStreamData *rec_sd = NULL;
+        if (GetDTVRecorder())
+            rec_sd = GetDTVRecorder()->GetStreamData();
+        if (sd && (sd != rec_sd))
+            delete sd;
     }
     if (HasFlags(kFlagWaitingForSignal))
         ClearFlags(kFlagWaitingForSignal);
