diff --git a/basic-ag.scm b/basic-ag.scm
index 469778d1b5dc09795b5f7effe419ea71d361863d..f76316222dedc81d7f45985329ff679ce813f1ad 100644
--- a/basic-ag.scm
+++ b/basic-ag.scm
@@ -64,7 +64,9 @@
  (define (=value-attr n)       (att-value 'value-attr n))
  (define (=value-of n name)    (att-value 'value-of n name))
 
- (define (find-prop propname subtree) (ast-find-child* (lambda (i n) (string=? propname (->name n))) subtree))
+ (define (find-prop propname subtree)
+    (ast-find-child (lambda (i n) (and (ast-subtype? n 'RealProperty)
+                                       (string=? propname (->name n)))) subtree))
 
  (define (add-basic-ags mquat-spec)
    (with-specification
@@ -189,11 +191,9 @@
      (SWRoot (lambda (n propname) (or (find-prop propname (->RealProperty* n))
                                       (ast-find-child* (lambda (i c) (=lookup-property c propname)) (->Comp* n)))))
      (Comp (lambda (n propname) (find-prop propname (->Property* n))))
-     (HWRoot (lambda (n propname) (or (ast-find-child* (lambda (i rt) (=lookup-property rt propname)) (->ResourceType* n))
-                                      (ast-find-child* (lambda (i r) (=lookup-property r propname)) (->SubResources n)))))
-     (ResourceType (lambda (n propname) (find-prop propname (->RealProperty* n))))
-     (Resource (lambda (n propname) (or (find-prop propname (->Property* n))
-                                        (ast-find-child* (lambda (i sr) (=lookup-property sr propname)) (->SubResources n))))))
+     (HWRoot (lambda (n propname) (or (find-prop propname (->RealProperty* n))
+                                      (ast-find-child* (lambda (i rt) (=lookup-property rt propname)) (->ResourceType* n)))))
+     (ResourceType (lambda (n propname) (find-prop propname (->Property* n)))))
 
     ; <=impl: Get Impl in subtree of the Impl
     (ag-rule get-impl (Impl (lambda (n) n)))
@@ -253,7 +253,8 @@
     (ag-rule
      real
      (RealProperty (lambda (n) n))
-     (PropertyRef  (lambda (n) (debug n ", refname=" (ast-child 'refname n) ", hasParent=" (ast-has-parent? n)) (=lookup-property (<=root n) (ast-child 'refname n)))))
+     (PropertyRef  (lambda (n) ;(debug n ", refname=" (ast-child 'refname n) ", hasParent=" (ast-has-parent? n))
+                               (=lookup-property (<=root n) (ast-child 'refname n)))))
 
     ; =req-comp-map: Returns a associate list, mapping required components to a list of implementations requiring that component
     (ag-rule