Index: src/clj/clojure/genclass.clj
===================================================================
--- src/clj/clojure/genclass.clj	(revision 1073)
+++ src/clj/clojure/genclass.clj	(working copy)
@@ -57,6 +57,17 @@
                                  (map escape-class-name pclasses)))
     (str mname "-void")))
 
+(defn find-field [#^Class c f]
+  (loop [c c]
+    (if (= c Object)
+      (throw (new Exception (str "field, " f ", not defined in class, " c ", or its ancestors")))
+      (let [rfld (try (.getDeclaredField c (str f))
+                      (catch java.lang.NoSuchFieldException nsfe 
+                        nil))]
+        (if (nil? rfld) 
+          (recur (.getSuperclass c))
+          rfld)))))
+
 ;(distinct (map first(keys (mapcat non-private-methods [Object IPersistentMap]))))
 
 (defn gen-class 
@@ -424,7 +435,7 @@
         (. gen (endMethod))))
                                         ;field exposers
     (doseq [f {getter :get setter :set}] exposes
-      (let [fld (.getDeclaredField super (str f))
+      (let [fld (find-field super (str f))
             ftype (totype (.getType fld))]
         (when getter
           (let [m (new Method (str getter) ftype (to-types []))
