diff --git a/org.eclipse.emf.cdo.releng.promotion/src/promoter/DropProcessor.java b/org.eclipse.emf.cdo.releng.promotion/src/promoter/DropProcessor.java
index 00fa20f..05b556c 100644
--- a/org.eclipse.emf.cdo.releng.promotion/src/promoter/DropProcessor.java
+++ b/org.eclipse.emf.cdo.releng.promotion/src/promoter/DropProcessor.java
@@ -19,7 +19,7 @@
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.ArrayList;
-import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Properties;
 import java.util.Set;
@@ -299,7 +299,7 @@
       }
 
       // Load names of doc plugins
-      Set<String> docs = new HashSet<>();
+      Set<String> docs = new LinkedHashSet<>();
       BufferedReader reader = null;
 
       try
diff --git a/org.eclipse.emf.cdo.releng.promotion/src/promoter/ReleaseNotesGenerator.java b/org.eclipse.emf.cdo.releng.promotion/src/promoter/ReleaseNotesGenerator.java
index a911434..b66dc8c 100644
--- a/org.eclipse.emf.cdo.releng.promotion/src/promoter/ReleaseNotesGenerator.java
+++ b/org.eclipse.emf.cdo.releng.promotion/src/promoter/ReleaseNotesGenerator.java
@@ -17,9 +17,9 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -285,7 +285,7 @@
 
   protected Collection<ReleaseNotesStream> getStreams(List<BuildInfo> buildInfos)
   {
-    Map<String, ReleaseNotesStream> streams = new HashMap<>();
+    Map<String, ReleaseNotesStream> streams = new LinkedHashMap<>();
     for (BuildInfo buildInfo : buildInfos)
     {
       String name = buildInfo.getStream();
@@ -359,7 +359,7 @@
 
   protected Set<Issue> getIssues(BuildInfo buildInfo, String fromRevision, String toRevision)
   {
-    final Set<Issue> issues = new HashSet<>();
+    final Set<Issue> issues = new LinkedHashSet<>();
 
     if (!fromRevision.equals(toRevision))
     {
