diff --git a/Build/Sources/TypeScript/core/Resources/Public/TypeScript/Event/DebounceEvent.ts b/Build/Sources/TypeScript/core/Resources/Public/TypeScript/Event/DebounceEvent.ts
index ae91ef0b949bb5d0684ace14b87fe3ee64e829f4..53381201350b3a896af593ca7c5102c6fa5a8f84 100644
--- a/Build/Sources/TypeScript/core/Resources/Public/TypeScript/Event/DebounceEvent.ts
+++ b/Build/Sources/TypeScript/core/Resources/Public/TypeScript/Event/DebounceEvent.ts
@@ -34,6 +34,9 @@ class DebounceEvent extends RegularEvent {
       clearTimeout(timeout);
       if (callNow) {
         callback.apply(this, args);
+        timeout = setTimeout((): void => {
+          timeout = null;
+        }, wait);
       } else {
         timeout = setTimeout((): void => {
           timeout = null;
diff --git a/typo3/sysext/core/Resources/Public/JavaScript/Event/DebounceEvent.js b/typo3/sysext/core/Resources/Public/JavaScript/Event/DebounceEvent.js
index df1c43b099f533d4450f6a2460289299831d0af5..8bfb0547773122b5e701df415ff1d8c144b29406 100644
--- a/typo3/sysext/core/Resources/Public/JavaScript/Event/DebounceEvent.js
+++ b/typo3/sysext/core/Resources/Public/JavaScript/Event/DebounceEvent.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","./RegularEvent"],(function(e,t,n){"use strict";return class extends n{constructor(e,t,n=250,s=!1){super(e,t),this.callback=this.debounce(this.callback,n,s)}debounce(e,t,n){let s=null;return function(...u){const c=n&&!s;clearTimeout(s),c?e.apply(this,u):s=setTimeout(()=>{s=null,n||e.apply(this,u)},t)}}}}));
\ No newline at end of file
+define(["require","exports","./RegularEvent"],(function(e,t,u){"use strict";return class extends u{constructor(e,t,u=250,l=!1){super(e,t),this.callback=this.debounce(this.callback,u,l)}debounce(e,t,u){let l=null;return function(...n){const s=u&&!l;clearTimeout(l),s?(e.apply(this,n),l=setTimeout(()=>{l=null},t)):l=setTimeout(()=>{l=null,u||e.apply(this,n)},t)}}}}));
\ No newline at end of file