diff --git a/provisioner.go b/provisioner.go
index 67e3dcbed373892985800690078fd7a9c515b716..0f89613a819ea8554478a9724b65f99f758a6434 100644
--- a/provisioner.go
+++ b/provisioner.go
@@ -119,9 +119,11 @@ func (p *LocalPathProvisioner) refreshConfig() error {
 
 func (p *LocalPathProvisioner) watchAndRefreshConfig() {
 	go func() {
+		ticker := time.NewTicker(ConfigFileCheckInterval)
+		defer ticker.Stop()
 		for {
 			select {
-			case <-time.Tick(ConfigFileCheckInterval):
+			case <-ticker.C:
 				if err := p.refreshConfig(); err != nil {
 					logrus.Errorf("failed to load the new config file: %v", err)
 				}