diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
index f5808d651fc003824b32f08edee4b5b159d8f35c..3e50716bee14459b2b61276b1b0f3f44b760e7b5 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
@@ -16,6 +16,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Comparator;
 import java.util.HashSet;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -124,17 +125,30 @@ public class ProjectRestImpl extends BaseRestImpl {
   }
 
   private Map<String, Object> createData(Project project) {
-    Map<String, Object> result = new TreeMap<>();
+    Map<String, Object> result = new LinkedHashMap<>();
 
-    result.put("name", project.getName());
-    result.put("projectId", project.getProjectId());
-    result.put("idObject", project.getId());
     result.put("version", project.getVersion());
-    result.put("notifyEmail", project.getNotifyEmail());
+    if (project.getDisease() != null) {
+      result.put("disease", createAnnotation(project.getDisease()));
+    } else {
+      result.put("disease", null);
+    }
+    if (project.getOrganism() != null) {
+      result.put("organism", createAnnotation(project.getOrganism()));
+    } else {
+      result.put("organism", null);
+    }
+    result.put("idObject", project.getId());
     if (project.getStatus() != null) {
       result.put("status", project.getStatus().toString());
     }
+    result.put("directory", project.getDirectory());
     result.put("progress", project.getProgress());
+    result.put("notifyEmail", project.getNotifyEmail());
+    result.put("warnings", project.getWarnings().size() > 0);
+    result.put("errors", project.getErrors() != null && !project.getErrors().isEmpty());
+    result.put("name", project.getName());
+    result.put("projectId", project.getProjectId());
 
     List<Map<String, Object>> images = new ArrayList<>();
     for (OverviewImage image : project.getOverviewImages()) {
@@ -151,22 +165,14 @@ public class ProjectRestImpl extends BaseRestImpl {
         }
       }
     }
-    result.put("warnings", project.getWarnings().size() > 0);
-    result.put("directory", project.getDirectory());
-    result.put("errors", project.getErrors() != null && !project.getErrors().isEmpty());
     if (set.size() > 0) {
       result.put("topOverviewImage", imageToMap(set.iterator().next()));
     } else if (project.getOverviewImages().size() > 0) {
       logger.warn(
           "Cannot determine top level image. Taking first one. " + project.getOverviewImages().get(0).getFilename());
       result.put("topOverviewImage", imageToMap(project.getOverviewImages().get(0)));
-    }
-
-    if (project.getOrganism() != null) {
-      result.put("organism", createAnnotation(project.getOrganism()));
-    }
-    if (project.getDisease() != null) {
-      result.put("disease", createAnnotation(project.getDisease()));
+    } else {
+      result.put("topOverviewImage", null);
     }
 
     return result;