Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/AlgorithmView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/AlgorithmView.Designer.cs	(revision 8189)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/AlgorithmView.Designer.cs	(revision 8190)
@@ -59,5 +59,5 @@
       // 
       this.startButton.Location = new System.Drawing.Point(0, 458);
-      this.toolTip.SetToolTip(this.startButton, "Start/Resume Experiment");
+      this.toolTip.SetToolTip(this.startButton, "Start/Resume Algorithm");
       // 
       // executionTimeTextBox
@@ -72,15 +72,15 @@
       // 
       this.pauseButton.Location = new System.Drawing.Point(30, 458);
-      this.toolTip.SetToolTip(this.pauseButton, "Pause Experiment");
+      this.toolTip.SetToolTip(this.pauseButton, "Pause Algorithm");
       // 
       // stopButton
       // 
       this.stopButton.Location = new System.Drawing.Point(60, 458);
-      this.toolTip.SetToolTip(this.stopButton, "Stop Experiment");
+      this.toolTip.SetToolTip(this.stopButton, "Stop Algorithm");
       // 
       // resetButton
       // 
       this.resetButton.Location = new System.Drawing.Point(90, 458);
-      this.toolTip.SetToolTip(this.resetButton, "Reset Experiment");
+      this.toolTip.SetToolTip(this.resetButton, "Reset Algorithm");
       // 
       // nameTextBox
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/BatchRunView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/BatchRunView.Designer.cs	(revision 8189)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/BatchRunView.Designer.cs	(revision 8190)
@@ -55,5 +55,5 @@
       // 
       this.startButton.Location = new System.Drawing.Point(0, 459);
-      this.toolTip.SetToolTip(this.startButton, "Start/Resume Experiment");
+      this.toolTip.SetToolTip(this.startButton, "Start/Resume Batchrun");
       // 
       // executionTimeTextBox
@@ -68,15 +68,15 @@
       // 
       this.pauseButton.Location = new System.Drawing.Point(30, 459);
-      this.toolTip.SetToolTip(this.pauseButton, "Pause Experiment");
+      this.toolTip.SetToolTip(this.pauseButton, "Pause Batchrun");
       // 
       // stopButton
       // 
       this.stopButton.Location = new System.Drawing.Point(60, 459);
-      this.toolTip.SetToolTip(this.stopButton, "Stop Experiment");
+      this.toolTip.SetToolTip(this.stopButton, "Stop Batchrun");
       // 
       // resetButton
       // 
       this.resetButton.Location = new System.Drawing.Point(90, 458);
-      this.toolTip.SetToolTip(this.resetButton, "Reset Experiment");
+      this.toolTip.SetToolTip(this.resetButton, "Reset Batchrun");
       // 
       // nameTextBox
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/IOptimizerView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/IOptimizerView.Designer.cs	(revision 8189)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/IOptimizerView.Designer.cs	(revision 8190)
@@ -73,5 +73,5 @@
       this.startButton.Size = new System.Drawing.Size(24, 24);
       this.startButton.TabIndex = 10;
-      this.toolTip.SetToolTip(this.startButton, "Start/Resume Experiment");
+      this.toolTip.SetToolTip(this.startButton, "Start/Resume Optimizer");
       this.startButton.UseVisualStyleBackColor = true;
       this.startButton.Click += new System.EventHandler(this.startButton_Click);
@@ -104,5 +104,5 @@
       this.pauseButton.Size = new System.Drawing.Size(24, 24);
       this.pauseButton.TabIndex = 11;
-      this.toolTip.SetToolTip(this.pauseButton, "Pause Experiment");
+      this.toolTip.SetToolTip(this.pauseButton, "Pause Optimizer");
       this.pauseButton.UseVisualStyleBackColor = true;
       this.pauseButton.Click += new System.EventHandler(this.pauseButton_Click);
@@ -116,5 +116,5 @@
       this.stopButton.Size = new System.Drawing.Size(24, 24);
       this.stopButton.TabIndex = 12;
-      this.toolTip.SetToolTip(this.stopButton, "Stop Experiment");
+      this.toolTip.SetToolTip(this.stopButton, "Stop Optimizer");
       this.stopButton.UseVisualStyleBackColor = true;
       this.stopButton.Click += new System.EventHandler(this.stopButton_Click);
@@ -128,5 +128,5 @@
       this.resetButton.Size = new System.Drawing.Size(24, 24);
       this.resetButton.TabIndex = 13;
-      this.toolTip.SetToolTip(this.resetButton, "Reset Experiment");
+      this.toolTip.SetToolTip(this.resetButton, "Reset Optimizer");
       this.resetButton.UseVisualStyleBackColor = true;
       this.resetButton.Click += new System.EventHandler(this.resetButton_Click);
Index: /trunk/sources/HeuristicLab.Optimization/3.3/BatchRun.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization/3.3/BatchRun.cs	(revision 8189)
+++ /trunk/sources/HeuristicLab.Optimization/3.3/BatchRun.cs	(revision 8190)
@@ -153,4 +153,5 @@
     }
 
+    private bool batchRunPrepared = false;
     private bool batchRunStarted = false;
     private bool batchRunPaused = false;
@@ -206,4 +207,5 @@
       batchRunPaused = original.batchRunPaused;
       batchRunStopped = original.batchRunStopped;
+      batchRunPrepared = original.batchRunPrepared;
       Initialize();
     }
@@ -228,8 +230,9 @@
         repetitionsCounter = 0;
         if (clearRuns) runs.Clear();
-        Optimizer.Prepare(clearRuns);
+        batchRunPrepared = true;
         batchRunStarted = false;
         batchRunPaused = false;
         batchRunStopped = false;
+        Optimizer.Prepare(clearRuns);
       } else {
         ExecutionState = ExecutionState.Stopped;
@@ -241,4 +244,5 @@
       if (Optimizer == null) return;
 
+      batchRunPrepared = false;
       batchRunStarted = true;
       batchRunPaused = false;
@@ -253,4 +257,5 @@
       if (Optimizer.ExecutionState != ExecutionState.Started) return;
 
+      batchRunPrepared = false;
       batchRunStarted = false;
       batchRunPaused = true;
@@ -262,5 +267,10 @@
         throw new InvalidOperationException(string.Format("Stop not allowed in execution state \"{0}\".", ExecutionState));
       if (Optimizer == null) return;
-      if (Optimizer.ExecutionState != ExecutionState.Started && Optimizer.ExecutionState != ExecutionState.Paused) return;
+      if (Optimizer.ExecutionState != ExecutionState.Started && Optimizer.ExecutionState != ExecutionState.Paused) {
+        OnStopped();
+        return;
+      }
+
+      batchRunPrepared = false;
       batchRunStarted = false;
       batchRunPaused = false;
@@ -292,4 +302,5 @@
     public event EventHandler Prepared;
     private void OnPrepared() {
+      batchRunPrepared = false;
       ExecutionState = ExecutionState.Prepared;
       EventHandler handler = Prepared;
@@ -298,4 +309,5 @@
     public event EventHandler Started;
     private void OnStarted() {
+      //TODO add coment
       ExecutionState = ExecutionState.Started;
       EventHandler handler = Started;
@@ -304,4 +316,5 @@
     public event EventHandler Paused;
     private void OnPaused() {
+      batchRunPaused = false;
       ExecutionState = ExecutionState.Paused;
       EventHandler handler = Paused;
@@ -310,4 +323,6 @@
     public event EventHandler Stopped;
     private void OnStopped() {
+      //reset flags because it cannot be done if the optimizer gets prepared
+      batchRunStopped = false;
       ExecutionState = ExecutionState.Stopped;
       EventHandler handler = Stopped;
@@ -354,7 +369,8 @@
     }
     private void Optimizer_Prepared(object sender, EventArgs e) {
-      if (ExecutionState == ExecutionState.Stopped || !batchRunStarted) {
+      if (batchRunPrepared || (ExecutionState == ExecutionState.Stopped)) {
         ExecutionTime = TimeSpan.Zero;
         runsExecutionTime = TimeSpan.Zero;
+        repetitionsCounter = 0;
         OnPrepared();
       }
