diff -r a53e20c3ebab MoinMoin/search/queryparser.py
--- a/MoinMoin/search/queryparser.py	Fri Jul 11 13:04:13 2008 +0200
+++ b/MoinMoin/search/queryparser.py	Sat Jul 12 13:05:14 2008 +0100
@@ -1022,6 +1022,14 @@
 
                 text = item[0]
                 if category:
+                    # Prevent CategoryTemplate from being a member of any category.
+                    # This is because CategoryTemplate is a template, *not* a category.
+                    # http://moinmo.in/MoinMoinBugs/CategoryTemplateIsTemplateOrCategory
+                    ignore_template = TitleSearch('^CategoryTemplate$', use_re=True, case=True)
+                    ignore_template.negated = True
+                    logging.info('adding %s to query' % (ignore_template))
+                    terms.append(ignore_template)
+
                     obj = CategorySearch(text, use_re=regex, case=case)
                 elif mimetype:
                     obj = MimetypeSearch(text, use_re=regex, case=False)
