diff --git a/PID_v1.cpp b/PID_v1.cpp
index cb6637c..3c76372 100644
--- a/PID_v1.cpp
+++ b/PID_v1.cpp
@@ -57,10 +57,12 @@ PID::PID(double* Input, double* Output, double* Setpoint,
  **********************************************************************************/
 bool PID::Compute()
 {
+   static bool first = true;
+
    if(!inAuto) return false;
    unsigned long now = millis();
    unsigned long timeChange = (now - lastTime);
-   if(timeChange>=SampleTime)
+   if(first || (timeChange>=SampleTime))
    {
       /*Compute all the working error variables*/
       double input = *myInput;
@@ -89,6 +91,7 @@ bool PID::Compute()
       /*Remember some variables for next time*/
       lastInput = input;
       lastTime = now;
+      first = false;
 	    return true;
    }
    else return false;