static Class NSBlock_;
 static Class NSDictionary_;
 static Class NSNumber_;
+static Class NSObject_;
 static Class NSString_;
 static Class NSZombie_;
 static Class Object_;
 
 static bool CYHasImplicitProperties(JSContextRef context, Class _class) {
     if (!CYCastBool(context, CYGetCachedValue(context, CYJSString("cydget"))))
-        return false;
+        if (class_getProperty(NSObject_, "description") != NULL)
+            return false;
     // XXX: this is an evil hack to deal with NSProxy; fix elsewhere
     if (!CYImplements(_class, object_getClass(_class), @selector(cy$hasImplicitProperties)))
         return true;
     NSBlock_ = objc_getClass("NSBlock");
     NSDictionary_ = objc_getClass("NSDictionary");
     NSNumber_ = objc_getClass("NSNumber");
+    NSObject_ = objc_getClass("NSObject");
     NSString_ = objc_getClass("NSString");
     Object_ = objc_getClass("Object");