Index: generic/nsf.c =================================================================== diff -u -N -r2c338821c949f8eb468c54a537d96a1d90b55805 -radedd712d56344175e1036b7b908e62054cb8c76 --- generic/nsf.c (.../nsf.c) (revision 2c338821c949f8eb468c54a537d96a1d90b55805) +++ generic/nsf.c (.../nsf.c) (revision adedd712d56344175e1036b7b908e62054cb8c76) @@ -27880,11 +27880,17 @@ break; case CurrentoptionIsnextcallIdx: { - (void)CallStackGetTopFrame(interp, &framePtr); + + cscPtr = CallStackGetTopFrame(interp, &framePtr); + + if ((cscPtr->frameType & NSF_CSC_TYPE_ENSEMBLE) != 0u) { + (void)CallStackFindEnsembleCsc(framePtr, &framePtr); + } + framePtr = CallStackNextFrameOfType(Tcl_CallFrame_callerPtr(framePtr), FRAME_IS_NSF_METHOD|FRAME_IS_NSF_CMETHOD); cscPtr = (framePtr != NULL) ? Tcl_CallFrame_clientData(framePtr) : NULL; - + Tcl_SetBooleanObj(Tcl_GetObjResult(interp), (cscPtr != NULL && ((cscPtr->flags & NSF_CSC_CALL_IS_NEXT) != 0u))); break;