A system for controlling a motor, the system comprising: a sensor for detecting position data for a rotor of the motor at a first time; a data processor (264, 664) for receiving the detected position data associated with a first time delay (Td1, 320), wherein the first time delay (Td1, 320) comprises a time period associated with transmission of a sensor signal from the sensor and receipt of the sensor signal at the data processor (264, 664); a sensing circuit for sensing an analog phase current at the motor, whereby a second time delay (Td3, 316) begins with the actual sensing of the analog phase current at the sensing circuit at a starting time and terminates with providing of an analog current to an analog -to- digital converter; the analog-to-digital converter for converting the analog current to a digital current data during a third time delay (Td4, 322), wherein the third time delay (Td4, 322) comprises a time period associated with the analog-to-digital conversion and storage process in the analog-to-digital converter; and a phase converter for transforming the digital current data into measured direct and quadrature axes control current data based on a synchronization or temporal alignment of the position data with the actual measured analog current at the starting time; characterized in that the data processor (264, 664) is programmed for detecting a fourth time delay (Td2, 326) between an actual current reading instant and a position reading instant in the data processor (264, 664), wherein the fourth time delay (Td2, 326) comprises a time period or offset from a phase current reading to a position data reading and determination in the data processor (264, 664); and that the data processor (264, 664) is programmed, by providing respective, temporally aligned position data of the rotor, for compensating the position data by a sum of the second time delay (Td3, 316), the third time delay (Td4, 322) and the fourth time delay (Td2, 326), where the first time delay (Td1, 320) is subtracted from the sum. a sensor for detecting position data for a rotor of the motor at a first time; a data processor (264, 664) for receiving the detected position data associated with a first time delay (Td1, 320), wherein the first time delay (Td1, 320) comprises a time period associated with transmission of a sensor signal from the sensor and receipt of the sensor signal at the data processor (264, 664); a sensing circuit for sensing an analog phase current at the motor, whereby a second time delay (Td3, 316) begins with the actual sensing of the analog phase current at the sensing circuit at a starting time and terminates with providing of an analog current to an analog -to- digital converter; the analog-to-digital converter for converting the analog current to a digital current data during a third time delay (Td4, 322), wherein the third time delay (Td4, 322) comprises a time period associated with the analog-to-digital conversion and storage process in the analog-to-digital converter; and a phase converter for transforming the digital current data into measured direct and quadrature axes control current data based on a synchronization or temporal alignment of the position data with the actual measured analog current at the starting time; characterized in that the data processor (264, 664) is programmed for detecting a fourth time delay (Td2, 326) between an actual current reading instant and a position reading instant in the data processor (264, 664), wherein the fourth time delay (Td2, 326) comprises a time period or offset from a phase current reading to a position data reading and determination in the data processor (264, 664); and that the data processor (264, 664) is programmed, by providing respective, temporally aligned position data of the rotor, for compensating the position data by a sum of the second time delay (Td3, 316), the third time delay (Td4, 322) and the fourth time delay (Td2, 326), where the first time delay (Td1, 320) is subtracted from the sum.