diff --git a/epicardium/modules/vibra.c b/epicardium/modules/vibra.c
index 8b10d19b64815d7ae9d46b8bbc58bb60b74be065..da1325093b6866037c1882da6ad79d613ee833a4 100644
--- a/epicardium/modules/vibra.c
+++ b/epicardium/modules/vibra.c
@@ -27,15 +27,21 @@ void epic_vibra_vibrate(int millis)
 {
 	int ticks = millis * (configTICK_RATE_HZ / 1000);
 
+	/* Make sure the duration is valid */
+	if (ticks < 1) {
+		/* Disable a potentially running motor */
+		epic_vibra_set(0);
+		return;
+	}
+
 	if (vibra_timer == NULL) {
 		vibra_timer = xTimerCreateStatic(
 			"vibratimer",
 			ticks,
-			pdFALSE,
+			pdFALSE, /* one-shot */
 			0,
 			vTimerCallback,
-			&vibra_timer_data
-		);
+			&vibra_timer_data);
 	}
 	if (vibra_timer != NULL) {
 		epic_vibra_set(1);