diff --git a/src/main/java/no/nibio/vips/model/maths/NonLinearCurves.java b/src/main/java/no/nibio/vips/model/maths/NonLinearCurves.java
index 9a8f17e2ea4a21e14007bef121f3c539d20ff420..a6c7b11aadc6dffb84ce84949ca05f0ec3644848 100755
--- a/src/main/java/no/nibio/vips/model/maths/NonLinearCurves.java
+++ b/src/main/java/no/nibio/vips/model/maths/NonLinearCurves.java
@@ -87,7 +87,7 @@ public class NonLinearCurves {
      * <p>Based on Baskerville et al (1969): Rapid estimation of heat accumulation
      * from maximum and minimum temperatures. Ref Figure 1</p>
      * <p>Formulas from Zalom et al 1983: Degree-days: The calculation and use
-     * of heat units in pest managemeng. Division of Agriculture and Natural resources,
+     * of heat units in pest management. Division of Agriculture and Natural resources,
      * University of California. Leaflet 21373</p>
      * @param Tmin minimum value of sine wave
      * @param Tmax maximum value of sine wave
@@ -137,7 +137,7 @@ public class NonLinearCurves {
             return (1/Math.PI) * ( 
                     (m-Tl)*(theta_2 + Math.PI/2) 
                     + (Tu-Tl)*(Math.PI/2-theta_2) 
-                    - Math.acos(theta_2) 
+                    - (alpha * Math.cos(theta_2))
                     );
         }
         
diff --git a/src/test/java/no/nibio/vips/model/maths/NonLinearCurvesTest.java b/src/test/java/no/nibio/vips/model/maths/NonLinearCurvesTest.java
index b5a8557a913e2e2e509348aa7b3d3877d09dd79b..0d10e7431bcf35da8d39b75ac72956b64d4c4444 100755
--- a/src/test/java/no/nibio/vips/model/maths/NonLinearCurvesTest.java
+++ b/src/test/java/no/nibio/vips/model/maths/NonLinearCurvesTest.java
@@ -198,6 +198,15 @@ public class NonLinearCurvesTest extends TestCase {
         result = instance.calculateSingleSineWaveWithCutoff(tMin, tMax, thresholdLower, thresholdUpper);
         assertEquals(expectedResult, result,0.1);
         
+        // tMax is above Tu, tMin is above Tl
+        tMax = 31.8;
+        tMin = 16.6;
+        thresholdUpper = 31.1;
+        thresholdLower = 15.0;
+        expectedResult = 9.135946967874313;
+        result = instance.calculateSingleSineWaveWithCutoff(tMin, tMax, thresholdLower, thresholdUpper);
+        assertEquals(expectedResult, result,0.1);
+        
     }
     
 }