diff -Naur vdr-plugin-skindesigner-1.2.7/coreengine/viewdisplaychannel.c vdr-plugin-skindesigner-1.2.7-patched/coreengine/viewdisplaychannel.c
--- vdr-plugin-skindesigner-1.2.7/coreengine/viewdisplaychannel.c	2018-03-03 09:03:00.000000000 +0100
+++ vdr-plugin-skindesigner-1.2.7-patched/coreengine/viewdisplaychannel.c	2018-10-08 19:36:53.594539058 +0200
@@ -1,5 +1,6 @@
 #include "viewdisplaychannel.h"
 #include "../config.h"
+#include <future>
 
 /************************************************************************************
 * cViewChannel
@@ -208,7 +209,8 @@
 void cViewChannel::SetChannel(const cChannel *channel, int number) {
     if (!timersLoaded) {
         timersLoaded = true;
-        globalTimers.LoadTimers();
+        //globalTimers.LoadTimers();
+        std::async([this](){ globalTimers.LoadTimers(); }).get();
     }
     channelChange = true;
 
@@ -254,7 +256,8 @@
 void cViewChannel::SetEvents(const cEvent *present, const cEvent *following) {
     if (!timersLoaded) {
         timersLoaded = true;
-        globalTimers.LoadTimers();
+        //globalTimers.LoadTimers();
+        std::async([this](){ globalTimers.LoadTimers(); }).get();
     }
     Clear((int)eVeDisplayChannel::epginfo);
     Clear((int)eVeDisplayChannel::progressbar);
diff -Naur vdr-plugin-skindesigner-1.2.7/displayreplay.c vdr-plugin-skindesigner-1.2.7-patched/displayreplay.c
--- vdr-plugin-skindesigner-1.2.7/displayreplay.c	2018-03-03 09:03:00.000000000 +0100
+++ vdr-plugin-skindesigner-1.2.7-patched/displayreplay.c	2018-10-08 19:41:09.529815991 +0200
@@ -1,4 +1,5 @@
 #include "displayreplay.h"
+#include <future>
 
 cSDDisplayReplay::cSDDisplayReplay(cViewReplay *replayView, bool ModeOnly) {
     init = true;
@@ -93,7 +94,8 @@
         isTimeShift = true;
     else {
         cGlobalTimers globalTimers;
-        globalTimers.LoadTimers();
+        //globalTimers.LoadTimers();
+        std::async([&globalTimers](){ globalTimers.LoadTimers(); }).get();
         if (globalTimers.IsRecording(recording))
             isTimeShift = true;
     }
diff -Naur vdr-plugin-skindesigner-1.2.7/extensions/globaltimers.c vdr-plugin-skindesigner-1.2.7-patched/extensions/globaltimers.c
--- vdr-plugin-skindesigner-1.2.7/extensions/globaltimers.c	2018-03-03 09:03:00.000000000 +0100
+++ vdr-plugin-skindesigner-1.2.7-patched/extensions/globaltimers.c	2018-10-08 19:38:04.492669355 +0200
@@ -2,6 +2,7 @@
 #include "../services/epgsearch.h"
 #include "../services/remotetimers.h"
 #include "../services/epgtimer.h"
+#include <future>
 
 static int CompareTimers(const void *a, const void *b) {
     return (*(const cTimer **)a)->Compare(**(const cTimer **)b);
@@ -32,7 +33,9 @@
         epg2vdrOk = SetEpg2VdrTimers();
     }
     if (!epg2vdrOk) {
-        SetLocalTimers();    
+//        SetLocalTimers();    
+        auto result = async(std::launch::async, &cGlobalTimers::SetLocalTimers, this);
+        result.get();
         if (pRemoteTimers) {
             SetRemoteTimers(initial);
         }        
