--- a/database/metadata.cpp
+++ b/database/metadata.cpp
@@ -461,11 +471,20 @@ void cMediaDatabase::Action(){
     time_t LastEPGUpdate = 0;
     while(this->Running()){
 
+#ifndef WITHOUT_TV
         if(cSchedules::Modified() >= LastEPGUpdate){
             MESSAGE(VERBOSE_EPG_UPDATES, "Schedule changed. Updating...");
             updateChannelEPG();
             LastEPGUpdate = cSchedules::Modified();
         }
+#endif
+#ifndef WITHOUT_RECORDS
+        int NotUsed;
+        if(Recordings.StateChanged(NotUsed)){
+            MESSAGE(VERBOSE_EPG_UPDATES, "Recordings changed. Updating...");
+            loadRecordings();
+        }
+#endif
 
         cCondWait::SleepMs(60 * 1000); // sleep a minute
     }
