--- a/ScaleSpace.c
+++ b/ScaleSpace.c
@@ -415,8 +415,10 @@
 	*degreeCorrection = *peakValue = -1;
 	
 	// Not a parabol
-	if (a == 0.0)
-		return (false);
+       if (a == 0.0) {
+               *degreeCorrection = 0;
+               return (true);
+       }
 	
 	double c = (((left - middle) / a) - 1.0) / 2.0;
 	double b = middle - c * c * a;
@@ -681,7 +683,7 @@
 	
 	norm = sqrt (norm);
 	if (norm == 0.0)
-		FatalError("CapAndNormalizeFV cannot normalize with norm = 0.0");
+               return;
 	
 	for (n = 0 ; n < Keypoint_FVLinearDim(kp) ; ++n)
 		Keypoint_FVLinearSet (kp, n, Keypoint_FVLinearGet (kp, n) / norm);