diff --git a/plugin/fzf.vim b/plugin/fzf.vim
index bf65cd0a44c7df5a17ab41a66b08966dcf04b9af..dc18470cc66705f29f8279f46abe9ef4ad78df39 100644
--- a/plugin/fzf.vim
+++ b/plugin/fzf.vim
@@ -456,6 +456,10 @@ function! s:execute_term(dict, command, temps) abort
       return
     endif
 
+    if bufexists(self.buf)
+      execute 'bd!' self.buf
+    endif
+
     call s:pushd(self.dict)
     let lines = s:collect(self.temps)
     call s:callback(self.dict, lines)