diff --git a/lib/bb/ui/crumbs/hig.py b/lib/bb/ui/crumbs/hig.py
index 1db93ea..3a66e7c 100644
--- a/lib/bb/ui/crumbs/hig.py
+++ b/lib/bb/ui/crumbs/hig.py
@@ -803,8 +803,14 @@ class LayerSelectionDialog (CrumbsDialog):
         table_layer.attach(scroll, 0, 10, 0, 1)
 
         layer_store = gtk.ListStore(gobject.TYPE_STRING)
+        core_iter = None
         for layer in layers:
-            layer_store.set(layer_store.append(), 0, layer)
+            if layer.endswith("/meta"):
+                core_iter = layer_store.prepend([layer])
+            elif layer.endswith("/meta-hob") and core_iter:
+                layer_store.insert_after(core_iter, [layer])
+            else:
+                layer_store.append([layer])
 
         col1 = gtk.TreeViewColumn('Enabled')
         layer_tv.append_column(col1)
