diff --git a/src/app/core/services/helpers/debounce.helper.spec.ts b/src/app/core/services/helpers/debounce.helper.spec.ts
index 1c47dbd..e04b11e 100644
--- a/src/app/core/services/helpers/debounce.helper.spec.ts
+++ b/src/app/core/services/helpers/debounce.helper.spec.ts
@@ -22,7 +22,7 @@
 
   it('should call a function only after it has not been called for 500ms', (done) => {
     const spy = jasmine.createSpy('fn');
-    const efficientSpy = service.debounce(spy, 500, false);
+    const efficientSpy = service.debounce(spy, 500, this, false);
     /* tslint:disable */
     efficientSpy();
     efficientSpy();
diff --git a/src/app/core/services/helpers/debounce.helper.ts b/src/app/core/services/helpers/debounce.helper.ts
index 3d4011f..0534106 100644
--- a/src/app/core/services/helpers/debounce.helper.ts
+++ b/src/app/core/services/helpers/debounce.helper.ts
@@ -1,5 +1,5 @@
 export interface IXosDebouncer {
-  debounce(func: any, wait: number, immediate?: boolean): any;
+  debounce(func: any, wait: number, context: any, immediate?: boolean): any;
 }
 
 export class XosDebouncer implements IXosDebouncer {
@@ -14,11 +14,9 @@
   // wait for 'wait' ms without actions to call the function
   // if 'immediate' call it immediatly then wait for 'wait'
   // NOTE that we cannot use $timeout service to debounce functions as it trigger infiniteDigest Exception
-  public debounce(func: any, wait: number, immediate?: boolean) {
+  public debounce(func: any, wait: number, context: any, immediate?: boolean) {
     let timeout;
-    const self = this;
     return function() {
-      const context = self;
       const args = arguments;
       const later = function() {
         timeout = null;
