diff --git a/src/helper/jim-eventloop.c b/src/helper/jim-eventloop.c
index 5da00c94580f652d0477af8bb1e31a6cb9a92c2e..edeeae71ef1df62e3d4dd6d1084d9db082c7ce2c 100644
--- a/src/helper/jim-eventloop.c
+++ b/src/helper/jim-eventloop.c
@@ -498,7 +498,7 @@ static int JimELAfterCommand(Jim_Interp *interp, int argc,
 	int tlen ;
 	jim_wide remain = 0;
 	const char *tok = Jim_GetString(argv[2], &tlen);
-	if (sscanf(tok,"after#%lld",&id) == 1) {
+	if (sscanf(tok,"after#%" JIM_WIDE_MODIFIER, &id) == 1) {
 		remain =  Jim_DeleteTimeHandler(interp, id);
 		if (remain > -2)  {
 			Jim_SetResult(interp, Jim_NewIntObj(interp, remain));
diff --git a/src/helper/jim.h b/src/helper/jim.h
index 82d987f7cf8a0d18658db20aaf6524d845325d94..0aa0c93dfe5bf7e34a881f084a8edbd054697347 100644
--- a/src/helper/jim.h
+++ b/src/helper/jim.h
@@ -120,7 +120,7 @@ extern "C" {
  * ---------------------------------------------------------------------------*/
 
 #ifdef HAVE_LONG_LONG_INT
-# if defined(_MSC_VER) || defined(__MSVCRT__)
+# if defined(_MSC_VER) || defined(__MSVCRT__) || defined(__MINGW32__)
 #    define JIM_WIDE_MODIFIER "I64d"
 # else
 #    define JIM_WIDE_MODIFIER "lld"