diff --git a/src/spicelib/devices/vsrc/vsrcacct.c b/src/spicelib/devices/vsrc/vsrcacct.c index 0be45f8e2..36994a837 100644 --- a/src/spicelib/devices/vsrc/vsrcacct.c +++ b/src/spicelib/devices/vsrc/vsrcacct.c @@ -172,7 +172,11 @@ VSRCaccept(CKTcircuit *ckt, GENmodel *inModel) period = end - here->VSRCcoeffs[here->VSRCrBreakpt]; + time -= + here->VSRCcoeffs[here->VSRCrBreakpt]; time -= period * floor(time / period); + time += + here->VSRCcoeffs[here->VSRCrBreakpt]; } else { here->VSRCbreak_time = ckt->CKTfinalTime; break; diff --git a/src/spicelib/devices/vsrc/vsrcload.c b/src/spicelib/devices/vsrc/vsrcload.c index a24bacc31..c68138eb1 100644 --- a/src/spicelib/devices/vsrc/vsrcload.c +++ b/src/spicelib/devices/vsrc/vsrcload.c @@ -318,6 +318,7 @@ VSRCload(GENmodel *inModel, CKTcircuit *ckt) period = end_time - here->VSRCcoeffs[here->VSRCrBreakpt]; + time -= here->VSRCcoeffs[here->VSRCrBreakpt]; time -= period * floor(time / period); time += here->VSRCcoeffs[here->VSRCrBreakpt]; } else {