diff --git a/src/main/java/org/olat/catalog/CatalogManager.java b/src/main/java/org/olat/catalog/CatalogManager.java
index 742db87f90960ca92663b7d0d5f056d39e425307..dcc979570c03220bd698b8ea470488ebc6551eb5 100644
--- a/src/main/java/org/olat/catalog/CatalogManager.java
+++ b/src/main/java/org/olat/catalog/CatalogManager.java
@@ -183,8 +183,7 @@ public class CatalogManager extends BasicManager implements UserDataDeletable, I
 		StringBuilder sb = new StringBuilder();
 		sb.append("select cei from ").append(CatalogEntryImpl.class.getName()).append(" as cei ")
 		  .append(" inner join fetch cei.ownerGroup as ownerGroup")
-		  .append(" where cei.type=").append(CatalogEntry.TYPE_NODE)
-		  .append(" order by cei.name");
+		  .append(" where cei.type=").append(CatalogEntry.TYPE_NODE);
 		
 		return dbInstance.getCurrentEntityManager()
 				.createQuery(sb.toString(), CatalogEntry.class)
diff --git a/src/main/java/org/olat/catalog/ui/CatalogEntryAddController.java b/src/main/java/org/olat/catalog/ui/CatalogEntryAddController.java
index 003dc0e448b9fc07cb9ea87aebb0a422de6454c4..050b4b2aa53ee59eb4764154995598b23804ac62 100644
--- a/src/main/java/org/olat/catalog/ui/CatalogEntryAddController.java
+++ b/src/main/java/org/olat/catalog/ui/CatalogEntryAddController.java
@@ -19,6 +19,7 @@
  */
 package org.olat.catalog.ui;
 
+import java.util.Collections;
 import java.util.List;
 
 import org.olat.basesecurity.BaseSecurityManager;
@@ -74,6 +75,7 @@ public class CatalogEntryAddController extends BasicController {
 		catalogManager = CatalogManager.getInstance();
 		
 		List<CatalogEntry> catEntryList = CatalogManager.getInstance().getAllCatalogNodes();
+		Collections.sort(catEntryList, new CatalogEntryNodeComparator(getLocale()));
 
 		mainVC = createVelocityContainer("catMove");
 		mainVC.contextPut("withTitle", new Boolean(title));
diff --git a/src/main/java/org/olat/catalog/ui/CatalogEntryNodeComparator.java b/src/main/java/org/olat/catalog/ui/CatalogEntryNodeComparator.java
new file mode 100644
index 0000000000000000000000000000000000000000..e13d747e714069f8c80ef645496a68058f36a9c4
--- /dev/null
+++ b/src/main/java/org/olat/catalog/ui/CatalogEntryNodeComparator.java
@@ -0,0 +1,61 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.catalog.ui;
+
+import java.text.Collator;
+import java.util.Comparator;
+import java.util.Locale;
+
+import org.olat.catalog.CatalogEntry;
+
+/**
+ * 
+ * Initial date: 18.02.2014<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class CatalogEntryNodeComparator implements Comparator<CatalogEntry> {
+	
+	private final Collator myCollator;
+	
+	public CatalogEntryNodeComparator(Locale locale) {
+		myCollator = Collator.getInstance(locale);
+	}
+	
+	@Override
+	public int compare(final CatalogEntry c1, final CatalogEntry c2) {
+		if(c1 == null) {
+			if(c2 == null) return 0;
+			return -1;
+		}
+		if(c2 == null) return 1;
+		
+		String t1 = c1.getName();
+		String t2 = c2.getName();
+		
+		if(t1 == null) {
+			if(t2 == null) return 0;
+			return -1;
+		}
+		if(t2 == null) return 1;
+		
+		return myCollator.compare(t1, t2);
+	}
+}
\ No newline at end of file