Hello, First of all, thank you for org-mode. Without it, I literally would find it much more difficult to do my job. I am having a problem with group tags. I reproduced it using the latest org-mode from the org package archive, 20181022. The minimal example is this: say I have a group tag that looks like this: (setq org-tag-alist '((:startgrouptag) ("parentTag") (:grouptags) ("childTag1") ("childTag2") (:endgrouptag))) with a org-todo-keywords like so: (setq org-todo-keywords '((type "TODO" "NEXT" "|" "DONE" "CANCELLED"))) And then an org file that looks like this: * Parent heading 1 :childTag1: ** NEXT child 1 of parent 1 ** TODO child 2 of parent 1 * Parent heading 2 ** NEXT child 1 of parent 2 ** TODO child 2 of parent 2 Then when I hit C-c a M, I use this match string: parentTag&TODO="NEXT"|-parentTag&TODO="TODO" I would expect the resulting agenda to have exactly two items: "child 1 of parent 1", and "child 2 of parent 2". However, I get three items: "child 1 of parent 1", "child 2 of parent 1", and "child 2 of parent 2". I don't understand why "child 2 of parent 1" is in there. This only arises when using the "|" operator. That is, if I do an agenda with just parentTag&TODO="NEXT" then I get just "child 1 of parent 1", as expected. If I do an agenda with -parentTag&TODO="TODO" then I get just "child 2 of parent 2", as expected. But when I combine them with "|", I get three items. I also did some other tests showing that at least for me this problem arises only with group tags. In particular, here if I do childTag1&TODO="NEXT"|-childTag1&TODO="TODO" I get just the two items I would expect. Is there a bug here? Or am I doing something wrong? Thanks. --Omari