Index: generic/nsf.c =================================================================== diff -u -r82dad17164f1ed5c7a269724583aaad07f926e3c -r59174ecf810d1f8a88a1cfed285b4e017b71d603 --- generic/nsf.c (.../nsf.c) (revision 82dad17164f1ed5c7a269724583aaad07f926e3c) +++ generic/nsf.c (.../nsf.c) (revision 59174ecf810d1f8a88a1cfed285b4e017b71d603) @@ -8049,9 +8049,10 @@ osPtr = GetObjectSystem(&cl->object); for (i = 0; i < oc; i++) { if (osPtr != GetObjectSystem(&scl[i]->object)) { - FREE(NsfClass**, scl); - return NsfPrintError(interp, "class \"%s\" has a different object system as class \"%s\"", + NsfPrintError(interp, "class \"%s\" has a different object system as class \"%s\"", ClassName(cl), ClassName(scl[i])); + FREE(NsfClass**, scl); + return TCL_ERROR; } }