I've made the following patch, which seems to work.
Is this the right approach?
--- Sablot/expr.cpp.orig Tue Jun 27 13:36:06 2000
+++ Sablot/expr.cpp Tue Jun 27 13:34:15 2000
@@ -888,7 +888,7 @@
c -> append(baseV);
break;
case AXIS_PARENT:
- if (matches(baseV -> parent))
+ if (baseV -> parent && matches(baseV -> parent))
c -> append(baseV -> parent);
break;
case AXIS_ANCESTOR:
.robin.
