Stop memory leaks by unbinding listener after finished
Merge branch 'fix-memory-leak'