A motor controller configured to drive a brushless motor suitable for an electronic power steering apparatus, said motor controller comprising: current detection means for detecting an electric current flowing through the brushless motor; characterized in that the number of current detection means is only one, and the motor controller further comprises: open loop control means for determining a command value indicating a level of a command voltage for driving the brushless motor in accordance with a motor circuit equation, based on a command current value indicating an amount of electric current to be supplied to the brushless motor and an angular velocity of a rotor in the brushless motor; correction means for calculating a correction value based on a difference between the command current value and a current value detected by the current detection means when the electric current is detected by the current detection means and correcting the command value indicating the level of the command voltage according to the calculated correction value, and for correcting the command value indicating the level of the command voltage according to the correction value even when an electric current is not detected by the current detection means by calculating the correction value based on a previously calculated correction value; and motor drive means for driving the brushless motor using a voltage having a level indicated by the command value corrected by the correction means, wherein the motor drive means comprises a switching circuit including a plurality of switching elements and configured to supply an electric current to the brushless motor. current detection means for detecting an electric current flowing through the brushless motor; characterized in that the number of current detection means is only one, and the motor controller further comprises: open loop control means for determining a command value indicating a level of a command voltage for driving the brushless motor in accordance with a motor circuit equation, based on a command current value indicating an amount of electric current to be supplied to the brushless motor and an angular velocity of a rotor in the brushless motor; correction means for calculating a correction value based on a difference between the command current value and a current value detected by the current detection means when the electric current is detected by the current detection means and correcting the command value indicating the level of the command voltage according to the calculated correction value, and for correcting the command value indicating the level of the command voltage according to the correction value even when an electric current is not detected by the current detection means by calculating the correction value based on a previously calculated correction value; and motor drive means for driving the brushless motor using a voltage having a level indicated by the command value corrected by the correction means, wherein the motor drive means comprises a switching circuit including a plurality of switching elements and configured to supply an electric current to the brushless motor. open loop control means for determining a command value indicating a level of a command voltage for driving the brushless motor in accordance with a motor circuit equation, based on a command current value indicating an amount of electric current to be supplied to the brushless motor and an angular velocity of a rotor in the brushless motor; correction means for calculating a correction value based on a difference between the command current value and a current value detected by the current detection means when the electric current is detected by the current detection means and correcting the command value indicating the level of the command voltage according to the calculated correction value, and for correcting the command value indicating the level of the command voltage according to the correction value even when an electric current is not detected by the current detection means by calculating the correction value based on a previously calculated correction value; and motor drive means for driving the brushless motor using a voltage having a level indicated by the command value corrected by the correction means, wherein the motor drive means comprises a switching circuit including a plurality of switching elements and configured to supply an electric current to the brushless motor.