diff --git a/ForgeDiscussion/forgediscussion/controllers/root.py b/ForgeDiscussion/forgediscussion/controllers/root.py
index 0bc6c72..00beb04 100644
--- a/ForgeDiscussion/forgediscussion/controllers/root.py
+++ b/ForgeDiscussion/forgediscussion/controllers/root.py
@@ -58,7 +58,7 @@
                 )).all()
         forums = model.Forum.query.find(dict(
                         app_config_id=c.app.config._id,
-                        parent_id=None, deleted=False)).all()
+                        parent_id=None, deleted=False)).sort('_id').all()
         forums = [f for f in forums if h.has_access(f, 'read')()]
         return dict(forums=forums,
                     announcements=announcements,
diff --git a/ForgeDiscussion/forgediscussion/forum_main.py b/ForgeDiscussion/forgediscussion/forum_main.py
index 6cafe1e..018f6fc 100644
--- a/ForgeDiscussion/forgediscussion/forum_main.py
+++ b/ForgeDiscussion/forgediscussion/forum_main.py
@@ -100,7 +100,7 @@
 
     @property
     def forums(self):
-        return DM.Forum.query.find(dict(app_config_id=self.config._id)).all()
+        return DM.Forum.query.find(dict(app_config_id=self.config._id)).sort('_id').all()
 
     @property
     def top_forums(self):
@@ -127,7 +127,7 @@
             forum_links = []
             forums = DM.Forum.query.find(dict(
                             app_config_id=c.app.config._id,
-                            parent_id=None, deleted=False))
+                            parent_id=None, deleted=False)).sort('_id')
             for f in forums:
                 if has_access(f,'read')():
                     if f.url() in request.url and h.has_access(f, 'moderate')():
@@ -265,4 +265,3 @@
     def add_forum(self, add_forum=None, **kw):
         f = utils.create_forum(self.app, add_forum)
         redirect(f.url())
-
