Index: programs/mythbackend/housekeeper.cpp
===================================================================
--- programs/mythbackend/housekeeper.cpp	(revision 10680)
+++ programs/mythbackend/housekeeper.cpp	(working copy)
@@ -48,7 +48,7 @@
     unsigned int longEnough = 0;
 
     if (period)
-        longEnough = ((period * oneday) - 600);
+        longEnough = ((period * oneday) - oneday/2);
     else
         longEnough = oneday / 8;
 
@@ -71,7 +71,12 @@
             {
                 int hour = now.toString(QString("h")).toInt();
                 if ((hour >= minhour) && (hour <= maxhour))
-                    runOK = true;
+                {
+                    int minute = now.toString(QString("m")).toInt();
+                    if ((hour == maxhour && minute > 30)
+                            || ((random()%((maxhour-minhour+1)*6)) == 0))
+                        runOK = true;
+                }
             }
         }
         else
@@ -241,7 +246,7 @@
             updateLastrun(dbTag);
         }
 
-        sleep(300);
+        sleep(300 + (random()%8));
     }
 } 
 
