Arduino Uno + NXShield

Hi,

I am trying to control a lego motor using NXShield. Though Lego claims that the error of the motor angle is within +/- 1 degree but that's certainly not true when used through NXShield. When I turn the motor by x degrees , even x = 0 and subsequently read the encoder position I get I an error which is sometimes as big as 6/7 degrees. One can certainly use the PID controller of the NXShield but I still couldn't achieve a better accuracy. Anyone dealt with such issues before ?

motorRunDegrees( x )
motorGetEncoderPosition()