Index: /trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs	(revision 1498)
+++ /trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs	(revision 1499)
@@ -45,5 +45,4 @@
 using HeuristicLab.Hive.Client.Core.JobStorage;
 
-
 namespace HeuristicLab.Hive.Client.Core {
   /// <summary>
@@ -206,5 +205,6 @@
 
         PluginManager.Manager.Initialize();
-        AppDomain appDomain = PluginManager.Manager.CreateAndInitAppDomainWithSandbox(e.Result.Job.Id.ToString(), sandboxed, typeof(TestJob));
+        
+        AppDomain appDomain = PluginManager.Manager.CreateAndInitAppDomainWithSandbox(e.Result.Job.Id.ToString(), sandboxed, typeof(HeuristicLab.Hive.Engine.HiveEngine));
         appDomain.UnhandledException += new UnhandledExceptionEventHandler(appDomain_UnhandledException);
         lock (engines) {                    
Index: /trunk/sources/HeuristicLab.Hive.Client.Core/HeuristicLab.Hive.Client.Core.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Core/HeuristicLab.Hive.Client.Core.csproj	(revision 1498)
+++ /trunk/sources/HeuristicLab.Hive.Client.Core/HeuristicLab.Hive.Client.Core.csproj	(revision 1499)
@@ -143,4 +143,8 @@
       <Name>HeuristicLab.Hive.Contracts</Name>
     </ProjectReference>
+    <ProjectReference Include="..\HeuristicLab.Hive.Engine\HeuristicLab.Hive.Engine.csproj">
+      <Project>{C8FEDAC1-0326-4293-B585-F0FEDDEDFC11}</Project>
+      <Name>HeuristicLab.Hive.Engine</Name>
+    </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.Hive.JobBase\HeuristicLab.Hive.JobBase.csproj">
       <Project>{21187322-52DD-4243-80A4-A85F0263E63B}</Project>
Index: /trunk/sources/HeuristicLab.Hive.Engine/HeuristicLab.Hive.Engine.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Engine/HeuristicLab.Hive.Engine.csproj	(revision 1498)
+++ /trunk/sources/HeuristicLab.Hive.Engine/HeuristicLab.Hive.Engine.csproj	(revision 1499)
@@ -13,4 +13,6 @@
     <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@@ -122,4 +124,5 @@
   </ItemGroup>
   <ItemGroup>
+    <None Include="HeuristicLab.snk" />
     <None Include="Properties\AssemblyInfo.frame" />
   </ItemGroup>
Index: /trunk/sources/HeuristicLab.Hive.Engine/HeuristicLabHiveEnginePlugin.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Engine/HeuristicLabHiveEnginePlugin.cs	(revision 1498)
+++ /trunk/sources/HeuristicLab.Hive.Engine/HeuristicLabHiveEnginePlugin.cs	(revision 1499)
@@ -33,4 +33,5 @@
   [Dependency(Dependency = "HeuristicLab.Core-3.2")]
   [Dependency(Dependency = "HeuristicLab.Hive.JobBase-3.2")]
+  [Dependency(Dependency = "HeuristicLab.SequentialEngine-3.2")]
   public class HeuristicLabHiveEnginePlugin : PluginBase {
   }
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs	(revision 1498)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs	(revision 1499)
@@ -241,19 +241,23 @@
     public List<PluginInfo> GetDependentPlugins(PluginInfo pluginInfo) {
       List<PluginInfo> mergedList = new List<PluginInfo>();
-      foreach (PluginInfo plugin in InstalledPlugins) {
-        if (plugin.Dependencies.Contains(pluginInfo)) {
-          if (!mergedList.Contains(plugin)) {
-            mergedList.Add(plugin);
-          }
-          // for each of the dependent plugins add the list of transitively dependent plugins
-          // make sure that only one entry for each plugin is added to the merged list
-          GetDependentPlugins(plugin).ForEach(delegate(PluginInfo dependentPlugin) {
-            if (!mergedList.Contains(dependentPlugin)) {
-              mergedList.Add(dependentPlugin);
-            }
-          });
-        }
+      //Bugfix the hell out of this...
+      //Bugfixed the hell out of this...
+      foreach (PluginInfo info in pluginInfo.Dependencies) {
+        if (!mergedList.Contains(info)) {
+          mergedList.Add(info);
+          AddDependenciesRecursive(info, mergedList);        
+        }        
       }
       return mergedList;
+    }
+
+    private void AddDependenciesRecursive(PluginInfo info, List<PluginInfo> mergedList) {
+      //if we've already processed this element => STOP IT!
+      if(!mergedList.Contains(info)) {
+        mergedList.Add(info);
+        return;
+      }
+      foreach (PluginInfo depinfo in info.Dependencies)
+        AddDependenciesRecursive(depinfo, mergedList);       
     }
 
