diff --git a/viper.go b/viper.go
index 2603c78..1bc46f5 100644
--- a/viper.go
+++ b/viper.go
@@ -262,7 +262,9 @@ func (v *Viper) WatchConfig() {
 							if err != nil {
 								log.Println("error:", err)
 							}
-							v.onConfigChange(event)
+							if v.onConfigChange != nil {
+								v.onConfigChange(event)
+							}
 						}
 					}
 				case err := <-watcher.Errors: