--- src/lib/ckt/traninit.c.orig	2010-02-09 23:52:59.000000000 +0000
+++ src/lib/ckt/traninit.c	2010-02-09 23:57:48.000000000 +0000
@@ -22,7 +22,10 @@
     ckt->CKTinitTime = ((TRANan*)job)->TRANinitTime;
     ckt->CKTmaxStep = ((TRANan*)job)->TRANmaxStep;
     if(ckt->CKTmaxStep == 0) {
-	ckt->CKTmaxStep = (ckt->CKTfinalTime-ckt->CKTinitTime)/50;
+	if ( ckt->CKTstep < (ckt->CKTfinalTime - ckt->CKTinitTime)/50.0) {
+		   ckt->CKTmaxStep = ckt->CKTstep; }
+    	else
+    	     { ckt->CKTmaxStep = (ckt->CKTfinalTime - ckt->CKTinitTime)/50.0; }
     }
     ckt->CKTdelmin = 1e-9*ckt->CKTmaxStep;	/* XXX */
     ckt->CKTmode = ((TRANan*)job)->TRANmode;
