diff --git a/daemon/bindings/event.c b/daemon/bindings/event.c
index e53f228e99f40db0a9bce83d7ae4f23f6a25098b..0c5a6ba97b8f53c01e18ab5993e19977b95049e6 100644
--- a/daemon/bindings/event.c
+++ b/daemon/bindings/event.c
@@ -94,7 +94,8 @@ static int event_recurrent(lua_State *L)
 {
 	/* Check parameters */
 	int n = lua_gettop(L);
-	if (n < 2 || !lua_isnumber(L, 1) || !lua_isfunction(L, 2))
+	if (n < 2 || !lua_isnumber(L, 1)  || lua_tointeger(L, 1) == 0
+		|| !lua_isfunction(L, 2))
 		lua_error_p(L, "expected 'recurrent(number interval, function)'");
 
 	return event_sched(L, 0, lua_tointeger(L, 1));
diff --git a/daemon/bindings/event.rst b/daemon/bindings/event.rst
index 6150f2309e5dc565be942d4ce91728568403cc68..bb8abcdd775ed13f9023e4af22cc8f571ee3f60a 100644
--- a/daemon/bindings/event.rst
+++ b/daemon/bindings/event.rst
@@ -25,7 +25,7 @@ For example, ``5 * hour`` represents five hours, or 5*60*60*100 milliseconds.
 
    :return: event id
 
-   Similar to :func:`event.after()`, periodically execute function after ``interval`` passes.
+   Execute function immediatelly and then periodically after each ``interval``.
 
    Example: