An electric power steering apparatus that calculates a current command value based on a steering torque and a velocity, drives a motor having a plurality of phases based on said current command value through an inverter comprised of an FET bridge, and performs an assist control of a steering system by drive control of said motor, comprising: a shunt resistor that is connected to said inverter; a controlling motor current detection circuit that is connected to two terminals of said shunt resistor in a positive direction, detects phase currents of said motor and uses said detected phase current as a controlling motor current detection value of said assist control; a diagnostic motor current detection circuit that is connected to two terminals of said shunt resistor in an opposite direction and detects a failure of said controlling motor current detection circuit; and a maximum current detection circuit that is connected to an output stage of said diagnostic motor current detection circuit, and holds a peak of a diagnostic motor current detection voltage outputted from said diagnostic motor current detection circuit during a constant time, and wherein each phase current of said motor is detected by one-shunt type and said assist control is performed, and two systems of a circuit for amplifying a voltage between two terminals of said shunt resistor are provided, wherein a first difference between a controlling motor current detection value detected by said controlling motor current detection circuit and a diagnostic motor current detection value detected by said diagnostic motor current detection circuit is calculated, wherein when said first difference is equal to or more than a first predetermined value, it is judged that a failure of either one of said controlling motor current detection circuit or said diagnostic motor current detection circuit occurs, and when said first difference is less than said first predetermined value, a maximum current detection value detected by said maximum current detection circuit is inputted and watched, characterized in that when said maximum current detection value is equal to or more than a second predetermined value, it is judged that an eddy current failure of said inverter occurs, and when said maximum current detection value is less than said second predetermined value, a predetermined judgment is performed based on said controlling motor current detection value, said diagnostic motor current detection valued and said maximum current detection value, whereby a failure of said controlling motor current detection circuit, said diagnostic motor current detection circuit or said maximum current detection circuit is diagnosed. a shunt resistor that is connected to said inverter; a controlling motor current detection circuit that is connected to two terminals of said shunt resistor in a positive direction, detects phase currents of said motor and uses said detected phase current as a controlling motor current detection value of said assist control; a diagnostic motor current detection circuit that is connected to two terminals of said shunt resistor in an opposite direction and detects a failure of said controlling motor current detection circuit; and a maximum current detection circuit that is connected to an output stage of said diagnostic motor current detection circuit, and holds a peak of a diagnostic motor current detection voltage outputted from said diagnostic motor current detection circuit during a constant time, and wherein each phase current of said motor is detected by one-shunt type and said assist control is performed, and two systems of a circuit for amplifying a voltage between two terminals of said shunt resistor are provided, wherein a first difference between a controlling motor current detection value detected by said controlling motor current detection circuit and a diagnostic motor current detection value detected by said diagnostic motor current detection circuit is calculated, wherein when said first difference is equal to or more than a first predetermined value, it is judged that a failure of either one of said controlling motor current detection circuit or said diagnostic motor current detection circuit occurs, and when said first difference is less than said first predetermined value, a maximum current detection value detected by said maximum current detection circuit is inputted and watched, characterized in that when said maximum current detection value is equal to or more than a second predetermined value, it is judged that an eddy current failure of said inverter occurs, and when said maximum current detection value is less than said second predetermined value, a predetermined judgment is performed based on said controlling motor current detection value, said diagnostic motor current detection valued and said maximum current detection value, whereby a failure of said controlling motor current detection circuit, said diagnostic motor current detection circuit or said maximum current detection circuit is diagnosed.