Even when temperature sensors (12, 13) used in a device for warming a battery (1) being not in use by using a battery-driven heater (2) have failed, the battery (1) is prevented from freezing. Based on a battery temperature (Tb) and an outside air temperature (Ta), times (Δt1 to Δt8) during which Tb will decrease down to a warming start temperature (Tb_start) are each set to the next controller startup time (Δt). A controller (9) is started up every Δt, at t2, t3, and t4, and checks whether Tb<Tb_start is satisfied or not. At t4 when Tb<Tb_start is satisfied, a heater (2) is battery-driven to warm the battery (1). After t0 when the outside air temperature sensor (13) fails, the outside air temperature (Ta) is set to a fixed value (Ta_const) and based on this Ta=Ta_const and the battery temperature (Tb), the above control is repeated. Accordingly, it is unlikely that the temperature information (Ta) from the outside air temperature sensor (13) that is at fault causes Δt to become extremely long like ∞, so that it is avoided that the heater (2) cannot be operated because the controller (9) cannot be started up and the battery (1) freezes.