diff --git a/Allura/allura/command/show_models.py b/Allura/allura/command/show_models.py
index 9872c23..22ca68f 100644
--- a/Allura/allura/command/show_models.py
+++ b/Allura/allura/command/show_models.py
@@ -200,6 +200,7 @@
 
     def command(self):
         from allura import model as M
+        from activitystream.storage.mingstorage import activity_orm_session
         self.basic_setup()
         main_indexes = defaultdict(lambda: defaultdict(list))  # by db, then collection name
         project_indexes = defaultdict(list)  # by collection name
@@ -212,8 +213,8 @@
                 base.log.info('... skipping abstract class %s', cls)
                 continue
             base.log.info('... for class %s', cls)
-            if session(cls) in (
-                M.main_orm_session, M.repository_orm_session, M.task_orm_session):
+            if session(cls) in (M.main_orm_session, M.repository_orm_session,
+                    M.task_orm_session, activity_orm_session):
                 idx = main_indexes[session(cls)][cname]
             else:
                 idx = project_indexes[cname]
