Index: generic/nsf.c =================================================================== diff -u -r5d1617640ad71fd52b069f81cfcadbe4cbb6f2a2 -r4c9e3b2b545a49698aa2284cc8dc5d5bb2719703 --- generic/nsf.c (.../nsf.c) (revision 5d1617640ad71fd52b069f81cfcadbe4cbb6f2a2) +++ generic/nsf.c (.../nsf.c) (revision 4c9e3b2b545a49698aa2284cc8dc5d5bb2719703) @@ -21583,9 +21583,13 @@ NsfClass *class; assert(object); - if (object->flags & NSF_HAS_PER_OBJECT_SLOTS) { - assert(object->flags & NSF_INIT_CALLED); - assert(object->nsPtr != NULL); + if ((object->flags & NSF_HAS_PER_OBJECT_SLOTS) + || (object->opt && object->opt->objMixins) + ) { + /* + * We have object-specific parameters. Do not use the per-class cache, + * and do not save the results in the per-class cache + */ /*fprintf(stderr, "per-object configure obj %s flags %.6x\n", ObjectName(object), object->flags);*/ class = NULL;