diff --git a/libraries/AP_Scripting/lua_scripts.cpp b/libraries/AP_Scripting/lua_scripts.cpp index e497496094..35c6dce7e1 100644 --- a/libraries/AP_Scripting/lua_scripts.cpp +++ b/libraries/AP_Scripting/lua_scripts.cpp @@ -176,6 +176,7 @@ void lua_scripts::run_next_script(lua_State *L) { return; } + uint64_t start_time_ms = AP_HAL::millis64(); // strip the selected script out of the list script_info *script = scripts; scripts = script->next; @@ -225,7 +226,7 @@ void lua_scripts::run_next_script(lua_State *L) { } // types match the expectations, go ahead and reschedule - script->next_run_ms = AP_HAL::millis64() + (uint64_t)luaL_checknumber(L, -1); + script->next_run_ms = start_time_ms + (uint64_t)luaL_checknumber(L, -1); lua_pop(L, 1); int old_ref = script->lua_ref; script->lua_ref = luaL_ref(L, LUA_REGISTRYINDEX);