Index: trunk/eraser/Eraser.Manager/DirectExecutor.cs
===================================================================
--- trunk/eraser/Eraser.Manager/DirectExecutor.cs	(revision 2129)
+++ trunk/eraser/Eraser.Manager/DirectExecutor.cs	(revision 2133)
@@ -323,11 +323,11 @@
 					((RecurringSchedule)task.Schedule).Reschedule(DateTime.Now);
 
+				//And the task finished event.
+				task.OnTaskFinished();
+
 				//If the task is an execute on restart task or run immediately task, it is
 				//only run once and can now be restored to a manually run task
 				if (task.Schedule == Schedule.RunOnRestart || task.Schedule == Schedule.RunNow)
 					task.Schedule = Schedule.RunManually;
-
-				//And the task finished event.
-				task.OnTaskFinished();
 
 				//Remove the actively executing task from our instance variable
