In traninit.c: replace: if(ckt->CKTmaxStep == 0) { ckt->CKTmaxStep = (ckt->CKTfinalTime-ckt->CKTinitTime)/50; } with: if( ckt->CKTmaxStep == 0 ) { if ( ckt->CKTstep < ( ckt->CKTfinalTime - ckt->CKTinitTime )/50.0 ) { ckt->CKTmaxStep = ckt->CKTstep; } else { ckt->CKTmaxStep = ( ckt->CKTfinalTime - ckt->CKTinitTime )/50.0; } }