diff --git a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/view/properties/part/singlepage/ProductLaunchPropertyPart.java b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/view/properties/part/singlepage/ProductLaunchPropertyPart.java
index 8700e1a..241f842 100644
--- a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/view/properties/part/singlepage/ProductLaunchPropertyPart.java
+++ b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/view/properties/part/singlepage/ProductLaunchPropertyPart.java
@@ -13,15 +13,12 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IType;
 import org.eclipse.scout.sdk.Texts;
-import org.eclipse.scout.sdk.extensions.runtime.classes.RuntimeClasses;
 import org.eclipse.scout.sdk.ui.internal.ScoutSdkUi;
 import org.eclipse.scout.sdk.ui.view.properties.part.ISection;
 import org.eclipse.scout.sdk.ui.view.properties.presenter.single.ProductLaunchPresenter;
 import org.eclipse.scout.sdk.util.resources.ResourceFilters;
 import org.eclipse.scout.sdk.util.resources.ResourceUtility;
-import org.eclipse.scout.sdk.util.type.TypeUtility;
 import org.eclipse.scout.sdk.workspace.IScoutBundle;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Composite;
@@ -35,9 +32,6 @@
 public class ProductLaunchPropertyPart extends AbstractSinglePageSectionBasedViewPart {
   private static final String SECTION_ID_LINKS = "section.links";
 
-  final IType basicPermission = TypeUtility.getType(RuntimeClasses.BasicPermission);
-  final IType iForm = TypeUtility.getType(RuntimeClasses.IForm);
-
   public ProductLaunchPropertyPart() {
   }
 
diff --git a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/view/properties/part/singlepage/ScoutProjectPropertyPart.java b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/view/properties/part/singlepage/ScoutProjectPropertyPart.java
index 186fdbb..341fff8 100644
--- a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/view/properties/part/singlepage/ScoutProjectPropertyPart.java
+++ b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/view/properties/part/singlepage/ScoutProjectPropertyPart.java
@@ -63,7 +63,7 @@
 
   private static final String PROJECT_PROD_LAUNCHERS = "pref_scout_project_prod_launcher";
 
-  private ArrayList<ProductLaunchPresenter> m_launchPresenters = new ArrayList<ProductLaunchPresenter>();
+  private final ArrayList<ProductLaunchPresenter> m_launchPresenters = new ArrayList<ProductLaunchPresenter>();
 
   @Override
   protected void createSections() {
@@ -175,7 +175,15 @@
     Arrays.sort(productFiles, 0, productFiles.length, new Comparator<IFile>() {
       @Override
       public int compare(IFile o1, IFile o2) {
-        return o1.getName().compareTo(o2.getName());
+        String serverKeyWord = "server";
+        boolean o1IsServer = o1.getName().contains(serverKeyWord);
+        boolean o2IsServer = o2.getName().contains(serverKeyWord);
+        if (o1IsServer == o2IsServer) {
+          return o1.getName().compareTo(o2.getName());
+        }
+        else {
+          return Boolean.valueOf(o2IsServer).compareTo(Boolean.valueOf(o1IsServer));
+        }
       }
     });
 
diff --git a/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/util/Batik17ProductFileUpgradeOperation.java b/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/util/Batik17ProductFileUpgradeOperation.java
index 2da2257..87a5d1d 100644
--- a/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/util/Batik17ProductFileUpgradeOperation.java
+++ b/org.eclipse.scout.sdk/src/org/eclipse/scout/sdk/operation/util/Batik17ProductFileUpgradeOperation.java
@@ -22,7 +22,7 @@
 /**
  * <h3>{@link Batik17ProductFileUpgradeOperation}</h3>
  * 
- * @author mvi
+ * @author Matthias Villiger
  * @since 3.10.0 13.11.2013
  */
 public class Batik17ProductFileUpgradeOperation implements IOperation {
