Index: /branches/HeuristicLab.ExternalEvaluation Scientific/HeuristicLab.Problems.ExternalEvaluation.Matlab/3.3/HeuristicLab.Problems.ExternalEvaluation.Matlab-3.3.csproj
===================================================================
--- /branches/HeuristicLab.ExternalEvaluation Scientific/HeuristicLab.Problems.ExternalEvaluation.Matlab/3.3/HeuristicLab.Problems.ExternalEvaluation.Matlab-3.3.csproj	(revision 9697)
+++ /branches/HeuristicLab.ExternalEvaluation Scientific/HeuristicLab.Problems.ExternalEvaluation.Matlab/3.3/HeuristicLab.Problems.ExternalEvaluation.Matlab-3.3.csproj	(revision 9698)
@@ -163,5 +163,7 @@
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
-    <Content Include="Mathworks Interop License.txt" />
+    <Content Include="Mathworks Interop License.txt">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Index: /branches/HeuristicLab.ExternalEvaluation Scientific/HeuristicLab.Problems.ExternalEvaluation.Matlab/3.3/MatlabParameterVectorEvaluator.cs
===================================================================
--- /branches/HeuristicLab.ExternalEvaluation Scientific/HeuristicLab.Problems.ExternalEvaluation.Matlab/3.3/MatlabParameterVectorEvaluator.cs	(revision 9697)
+++ /branches/HeuristicLab.ExternalEvaluation Scientific/HeuristicLab.Problems.ExternalEvaluation.Matlab/3.3/MatlabParameterVectorEvaluator.cs	(revision 9698)
@@ -22,4 +22,5 @@
 using System;
 using System.IO;
+using System.Linq;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
@@ -98,4 +99,5 @@
         var parameterVector = ParameterVectorParameter.ActualValue;
         var parameterNames = ParameterNamesParameter.ActualValue;
+        if (parameterNames.Any(string.IsNullOrEmpty)) throw new ArgumentException("Not all parameter names are provided.");
 
         for (int i = 0; i < ProblemSizeParameter.ActualValue.Value; i++) {
Index: /branches/HeuristicLab.ExternalEvaluation Scientific/HeuristicLab.Problems.ExternalEvaluation.Scilab/3.3/ScilabParameterVectorEvaluator.cs
===================================================================
--- /branches/HeuristicLab.ExternalEvaluation Scientific/HeuristicLab.Problems.ExternalEvaluation.Scilab/3.3/ScilabParameterVectorEvaluator.cs	(revision 9697)
+++ /branches/HeuristicLab.ExternalEvaluation Scientific/HeuristicLab.Problems.ExternalEvaluation.Scilab/3.3/ScilabParameterVectorEvaluator.cs	(revision 9698)
@@ -22,4 +22,5 @@
 using System;
 using System.IO;
+using System.Linq;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
@@ -89,4 +90,5 @@
         var parameterVector = ParameterVectorParameter.ActualValue;
         var parameterNames = ParameterNamesParameter.ActualValue;
+        if (parameterNames.Any(string.IsNullOrEmpty)) throw new ArgumentException("Not all parameter names are provided.");
         var scilab = DotNetScilab.Scilab.Instance;
 
Index: /branches/HeuristicLab.ExternalEvaluation Scientific/HeuristicLab.Problems.ParameterOptimization/3.3/ParameterOptimizationProblem.cs
===================================================================
--- /branches/HeuristicLab.ExternalEvaluation Scientific/HeuristicLab.Problems.ParameterOptimization/3.3/ParameterOptimizationProblem.cs	(revision 9697)
+++ /branches/HeuristicLab.ExternalEvaluation Scientific/HeuristicLab.Problems.ParameterOptimization/3.3/ParameterOptimizationProblem.cs	(revision 9698)
@@ -128,4 +128,5 @@
       Bounds.ToStringChanged += Bounds_ToStringChanged;
       ProblemSizeParameter.Value.ValueChanged += ProblemSize_Changed;
+      ParameterNames.Reset += ParameterNames_Reset;
     }
 
@@ -154,5 +155,5 @@
       UpdateStrategyVectorBounds();
     }
-    private void UpdateStrategyVectorBounds() {
+    protected virtual void UpdateStrategyVectorBounds() {
       DoubleMatrix strategyBounds = (DoubleMatrix)Bounds.Clone();
       for (int i = 0; i < strategyBounds.Rows; i++) {
@@ -163,5 +164,5 @@
     }
 
-    private void ProblemSize_Changed(object sender, EventArgs e) {
+    protected virtual void ProblemSize_Changed(object sender, EventArgs e) {
       if (ParameterNames.Length != ProblemSize)
         ((IStringConvertibleArray)ParameterNames).Length = ProblemSize;
@@ -170,4 +171,8 @@
       }
     }
+
+    protected virtual void ParameterNames_Reset(object sender, EventArgs e) {
+      ProblemSize = ParameterNames.Length;
+    }
   }
 }
