Input values not being returned to 0 on the x360 controller for Windows 7

I am trying to write a code snippet so that I can detect when the left joystick on an X360 controller plugged into windows 7 is active. The problem I am seeing is that when the joystick is released the input values still read a value greater than the dead zone. Interestingly the code that moves my object around screen no longer moves around the screen when the joystick is released and it recenters itself. However when I use the input class to get the axis I still get values greater than the dead zone values.

These are my settings:

Gravity 0
Dead

Ok somehow I hit enter there…

Settings:

Gravity 0
Dead 0.3
Sensitivity 1

This is my test snippet of code:

print(“Not Moving”);
if ((Input.GetAxis(“L_XAxis_” + playerIndex) < -0.3f) || (Input.GetAxis(“L_XAxis_” + playerIndex) > 0.3f) ||
(Input.GetAxis(“L_YAxis_” + playerIndex) < -0.3f) || (Input.GetAxis(“L_YAxis_” + playerIndex) > 0.3f))
{
string moveStr = “Input X:” + Input.GetAxis(“L_XAxis_” + playerIndex) + " Y:" + Input.GetAxis(“L_YAxis_” + playerIndex);
print(moveStr);
}

Even when I release the joystick I still fall into the if code and I print out the values which are greater than the deadzone.

Anyone have an idea of what is going on or what I need to do to work around this issue?