diff --git a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/internal/serviceregistry/ShrinkableCollection.java b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/internal/serviceregistry/ShrinkableCollection.java
index ebf2f34..2dfc942 100644
--- a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/internal/serviceregistry/ShrinkableCollection.java
+++ b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/internal/serviceregistry/ShrinkableCollection.java
@@ -56,6 +56,7 @@
 	private static <E> Collection<? extends E> initComposite(List<Collection<? extends E>> collections) {
 		int size = 0;
 		for (Collection<? extends E> c : collections) {
+			assert verifyNoDuplicates(c);
 			size += c.size();
 		}
 		Collection<E> result = new ArrayList<E>(size);
@@ -69,6 +70,27 @@
 		return result;
 	}
 
+	private static <E> boolean verifyNoDuplicates(Collection<? extends E> c) {
+		for (E e : c) {
+			int count = 0;
+			for (E f : c) {
+				if (e == null) {
+					if (f == null) {
+						count++;
+					}
+				} else {
+					if (e.equals(f)) {
+						count++;
+					}
+				}
+			}
+			if (count != 1) {
+				return false;
+			}
+		}
+		return true;
+	}
+
 	public boolean add(E e) {
 		throw new UnsupportedOperationException();
 	}
