diff --git a/execution/execution.go b/execution/execution.go
index ebe5ae159e95742f823088b133f5979a9a37826d..ee3c342fbe486dee7b0db3752649f7de7518d585 100644
--- a/execution/execution.go
+++ b/execution/execution.go
@@ -147,7 +147,7 @@ func (exe *executor) Commit() (hash []byte, err error) {
 		return nil, err
 	}
 	// flush events to listeners
-	exe.eventCache.Flush()
+	defer exe.eventCache.Flush()
 	return exe.state.Hash(), nil
 }