--- menu_searchresults.c.orig	2013-09-19 09:52:03.481229963 +0200
+++ menu_searchresults.c	2013-09-19 09:47:50.029240339 +0200
@@ -246,7 +246,7 @@
 	     if (EPGSearchConfig.useVDRTimerEditMenu)
                return AddSubMenu(new cMenuEditTimer(timer));
 	     else
-               return AddSubMenu(new cMenuMyEditTimer(timer, false, item->event));
+               return AddSubMenu(new cMenuMyEditTimer(timer, false, false, item->event));
 	   }
       }
 
@@ -263,7 +263,7 @@
          if (EPGSearchConfig.useVDRTimerEditMenu)
             return AddSubMenu(new cMenuEditTimer(timer, !t));
          else
-            return AddSubMenu(new cMenuMyEditTimer(timer, !t, item->event));
+            return AddSubMenu(new cMenuMyEditTimer(timer, !t, false, item->event));
       }
       else
       {
--- menu_commands.c.orig	2013-09-19 09:52:03.477229963 +0200
+++ menu_commands.c	2013-09-19 09:42:17.621253947 +0200
@@ -128,7 +128,7 @@
       if (EPGSearchConfig.useVDRTimerEditMenu)
          return AddSubMenu(new cMenuEditTimer(timer));
       else
-         return AddSubMenu(new cMenuMyEditTimer(timer, false, event, timer->Channel()));
+         return AddSubMenu(new cMenuMyEditTimer(timer, false, false, event, timer->Channel()));
    }
 
    timer = new cTimer(event);
@@ -145,7 +145,7 @@
       if (EPGSearchConfig.useVDRTimerEditMenu)
          return AddSubMenu(new cMenuEditTimer(timer, !t));
       else
-         return AddSubMenu(new cMenuMyEditTimer(timer, !t, event));
+         return AddSubMenu(new cMenuMyEditTimer(timer, !t, false, event));
    }
    else
    {
--- menu_myedittimer.c.orig	2013-09-19 09:52:03.477229963 +0200
+++ menu_myedittimer.c	2013-09-19 09:37:32.549265617 +0200
@@ -37,7 +37,7 @@
 
 const char *cMenuMyEditTimer::CheckModes[3];
 
-cMenuMyEditTimer::cMenuMyEditTimer(cTimer *Timer, bool New, const cEvent* Event, const cChannel* forcechannel)
+cMenuMyEditTimer::cMenuMyEditTimer(cTimer *Timer, bool New, bool ReturnToTimersAfterDeletion, const cEvent* Event, const cChannel* forcechannel)
 :cOsdMenu(trVDR("Edit timer"), 14)
 {
 #if VDRVERSNUM >= 10734
@@ -73,6 +73,7 @@
 	SplitFile();
 
 	addIfConfirmed = New;
+	returnToTimersAfterDeletion = ReturnToTimersAfterDeletion;
 	Set();
 	SetHelp(addIfConfirmed?NULL:trVDR("Button$Delete"), NULL, NULL, NULL);
     }
@@ -247,7 +248,7 @@
 	    Timers.Del(timer);
 	    gl_timerStatusMonitor->SetConflictCheckAdvised();
 	    Timers.SetModified();
-	    return osBack;
+	    return returnToTimersAfterDeletion ? osTimers : osBack;
         }
     }
     return osContinue;
--- menu_myedittimer.h.orig	2013-09-19 09:52:03.477229963 +0200
+++ menu_myedittimer.h	2013-09-19 09:33:09.133276400 +0200
@@ -34,6 +34,7 @@
   const cEvent* event;
   int channel;
   bool addIfConfirmed;
+  bool returnToTimersAfterDeletion;
   int UserDefDaysOfWeek;
   cMenuEditStrItem* m_DirItem;
 
@@ -51,7 +52,7 @@
 #endif
   int checkmode;
 public:
-  cMenuMyEditTimer(cTimer *Timer, bool New, const cEvent* event, const cChannel* forcechannel=NULL);
+  cMenuMyEditTimer(cTimer *Timer, bool New, bool ReturnToTimersAfterDeletion, const cEvent* event, const cChannel* forcechannel=NULL);
   virtual ~cMenuMyEditTimer();
   virtual eOSState ProcessKey(eKeys Key);
   void HandleSubtitle();
--- ./menu_main.c	2013-09-19 09:52:03.477229963 +0200
+++ ../epgsearch/./menu_main.c	2013-09-19 09:45:47.741245345 +0200
@@ -186,7 +186,7 @@
 	      if (EPGSearchConfig.useVDRTimerEditMenu)
 		  return AddSubMenu(new cMenuEditTimer(timer));
 	      else
-		  return AddSubMenu(new cMenuMyEditTimer(timer, false, item->event, item->channel));
+		  return AddSubMenu(new cMenuMyEditTimer(timer, false, false, item->event, item->channel));
 	    }
       }
 
@@ -203,7 +203,7 @@
 	 if (EPGSearchConfig.useVDRTimerEditMenu)
 	     return AddSubMenu(new cMenuEditTimer(timer, !t));
 	 else
-	     return AddSubMenu(new cMenuMyEditTimer(timer, !t, item->event));
+	     return AddSubMenu(new cMenuMyEditTimer(timer, !t, false, item->event));
      }
      else
      {
--- menu_whatson.c.orig	2013-09-19 09:52:03.481229963 +0200
+++ menu_whatson.c	2013-09-19 09:49:35.477236022 +0200
@@ -577,7 +577,7 @@
 	     if (EPGSearchConfig.useVDRTimerEditMenu)
                return AddSubMenu(new cMenuEditTimer(timer));
 	     else
-               return AddSubMenu(new cMenuMyEditTimer(timer, false, item->event, item->channel));
+               return AddSubMenu(new cMenuMyEditTimer(timer, false, false, item->event, item->channel));
 	   }
       }
 
@@ -602,7 +602,7 @@
          if (EPGSearchConfig.useVDRTimerEditMenu)
             return AddSubMenu(new cMenuEditTimer(timer, !t));
          else
-            return AddSubMenu(new cMenuMyEditTimer(timer, !t, item->event, item->channel));
+            return AddSubMenu(new cMenuMyEditTimer(timer, !t, false, item->event, item->channel));
       }
       else
       {
--- epgsearch.c.orig	2013-09-19 09:52:03.473229964 +0200
+++ epgsearch.c	2013-09-19 09:40:27.581258451 +0200
@@ -146,7 +146,7 @@
 
    if (argc==5 && !strcmp(argv[0], "timermenu"))
    { // yes, this is an ugly hack!
-      argv[1] = (char*) new cMenuMyEditTimer((cTimer*) argv[2], (bool) argv[3], (const cEvent*) argv[4]);
+      argv[1] = (char*) new cMenuMyEditTimer((cTimer*) argv[2], (bool) argv[3], false, (const cEvent*) argv[4]);
       return true;
    }
 
@@ -254,7 +254,7 @@
          return true;
 
       Epgsearch_exttimeredit_v1_0* serviceData = (Epgsearch_exttimeredit_v1_0*) Data;
-      serviceData->pTimerMenu = new cMenuMyEditTimer(serviceData->timer, serviceData->bNew, serviceData->event);
+      serviceData->pTimerMenu = new cMenuMyEditTimer(serviceData->timer, serviceData->bNew, true, serviceData->event);
 
       return true;
    }
