diff --git a/lalsimulation/src/LALSimIMRSpinEOBHcapNumericalDerivativePrec.c b/lalsimulation/src/LALSimIMRSpinEOBHcapNumericalDerivativePrec.c
index e2ba83a26051d8eeac026335c09cd4b8f5864f19..3932bbb0932272e12352bf77b55fa25c7f8cab16 100644
--- a/lalsimulation/src/LALSimIMRSpinEOBHcapNumericalDerivativePrec.c
+++ b/lalsimulation/src/LALSimIMRSpinEOBHcapNumericalDerivativePrec.c
@@ -97,7 +97,7 @@ static REAL8 XLALSpinPrecHcapNumDerivWRTParam(
 )
 {
 	int		debugPK = 0;
-	static const REAL8 STEP_SIZE = 1.0e-4;
+	static const REAL8 STEP_SIZE = 2.0e-4;
 
     /** lMax: l index up to which h_{lm} modes are included in the computation of the GW enegy flux: see Eq. in 13 in PRD 86,  024011 (2012) */
     static const INT4 lMax = 8;
@@ -710,7 +710,7 @@ XLALSpinPrecHcapNumDerivWRTParam(
 			     SpinEOBParams * funcParams	/**<< EOB Parameters */
 )
 {
-	static const REAL8 STEP_SIZE = 1.0e-3;
+	static const REAL8 STEP_SIZE = 2.0e-3;
 
 	HcapDerivParams	params;
 
diff --git a/lalsimulation/src/LALSimIMRSpinPrecEOBEulerAngles.c b/lalsimulation/src/LALSimIMRSpinPrecEOBEulerAngles.c
index aeb601f102fd17fda5c9cf395a1457675cc2c6eb..f69aba05e867c59c3405c7e95e0f2dc4ec5b6774 100644
--- a/lalsimulation/src/LALSimIMRSpinPrecEOBEulerAngles.c
+++ b/lalsimulation/src/LALSimIMRSpinPrecEOBEulerAngles.c
@@ -85,11 +85,11 @@ static int EulerAnglesI2P(REAL8Vector *Alpha, /**<< output: alpha Euler angle */
             }
         }
 
-        if( i>0 && Alpha->data[i] - Alpha->data[i-1] > 5. ) {
+        while( i>0 && Alpha->data[i] - Alpha->data[i-1] > 5. ) {
             *phaseCounterA = *phaseCounterA - 1;
             Alpha->data[i] -= LAL_TWOPI;
         }
-        else if ( i && Alpha->data[i] - Alpha->data[i-1] < -5. ) {
+        while( i && Alpha->data[i] - Alpha->data[i-1] < -5. ) {
             *phaseCounterA = *phaseCounterA + 1;
             Alpha->data[i] += LAL_TWOPI;
         }