diff --git a/src/xspice/icm/digital/d_osc/cfunc.mod b/src/xspice/icm/digital/d_osc/cfunc.mod index 774e2ce41..a9c13bd7e 100644 --- a/src/xspice/icm/digital/d_osc/cfunc.mod +++ b/src/xspice/icm/digital/d_osc/cfunc.mod @@ -71,11 +71,12 @@ void cm_d_osc(ARGS) double ctl, period, delta, when; int csize, i; - CALLBACK = cm_d_osc_callback; - csize = PARAM_SIZE(cntl_array); + if (INIT) { + CALLBACK = cm_d_osc_callback; + /* Validate PWL table. */ for (i = 0; i < csize - 1; ++i) {