Index: programs/mythbackend/scheduler.cpp
===================================================================
--- programs/mythbackend/scheduler.cpp	(revision 13445)
+++ programs/mythbackend/scheduler.cpp	(working copy)
@@ -1346,9 +1346,14 @@
                 // started the BE, 'auto' means it was started automatically
                 QString startupParam = "user";
                 
+                RecIter firstRunIter = reclist.begin();
+                for ( ; firstRunIter != reclist.end(); firstRunIter++)
+                    if ((*firstRunIter)->recstatus == rsWillRecord)
+                        break;
+
                 // have we been started automatically?
-                if ((startIter != reclist.end()) &&
-                    ((curtime.secsTo((*startIter)->startts) - prerollseconds)
+                if ((firstRunIter != reclist.end()) &&
+                    ((curtime.secsTo((*firstRunIter)->startts) - prerollseconds)
                         < (idleWaitForRecordingTime * 60)))
                 {
                     VERBOSE(VB_IMPORTANT,
@@ -1548,14 +1553,19 @@
                     if (it.data()->IsBusy())
                         recording = true;
                 }
-                
+               
                 if (!(m_mainServer->isClientConnected()) && !recording)
                 {
                     if (!idleSince.isValid())
                     {
-                        if (startIter != reclist.end())
+                        RecIter idleIter = reclist.begin();
+                        for ( ; idleIter != reclist.end(); idleIter++)
+                            if ((*idleIter)->recstatus == rsWillRecord)
+                                break;
+
+                        if (idleIter != reclist.end())
                         {
-                            if (curtime.secsTo((*startIter)->startts) - 
+                            if (curtime.secsTo((*idleIter)->startts) - 
                                 prerollseconds > idleWaitForRecordingTime * 60)
                             {
                                 idleSince = curtime;
