diff --git a/modules/battery.go b/modules/battery.go
index 71de37fa1c44364f22da07b14df764a0419d4d8d..eccca1d012ce977290f6d5b598837fb61d5abfab 100644
--- a/modules/battery.go
+++ b/modules/battery.go
@@ -128,9 +128,11 @@ func (b *BatteryMod) Render() string {
 	color := b.ColorOK
 	percent := 100 * (batt.Current / batt.Design)
 	if percent < 20 {
-		if len(b.WarnCmd) != 0 && time.Now().Unix()-b.warnTime > 60 {
+		now := time.Now().Unix()
+		if len(b.WarnCmd) != 0 && batt.State != battery.Charging && now-b.warnTime > 60 {
 			cmd := exec.Command(b.WarnCmd[0], b.WarnCmd[1:]...)
 			cmd.Run()
+			b.warnTime = now
 		}
 		color = b.Color20
 	}