diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c
index 7ed595557ddd9f22bcda03fde36ea4cf4140eed2..cc98543c6e168909e64a9ed64036e3454d38f533 100644
--- a/res/res_musiconhold.c
+++ b/res/res_musiconhold.c
@@ -1652,14 +1652,15 @@ static int load_moh_classes(int reload)
 
 	cfg = ast_config_load("musiconhold.conf", config_flags);
 
-	if (cfg == CONFIG_STATUS_FILEMISSING || cfg == CONFIG_STATUS_FILEUNCHANGED || cfg == CONFIG_STATUS_FILEINVALID) {
+	if (cfg == CONFIG_STATUS_FILEMISSING || cfg == CONFIG_STATUS_FILEINVALID) {
 		if (ast_check_realtime("musiconhold") && reload) {
 			ao2_t_callback(mohclasses, OBJ_NODATA, moh_class_mark, NULL, "Mark deleted classes");
 			ao2_t_callback(mohclasses, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE, moh_classes_delete_marked, NULL, "Purge marked classes");
 		}
-		if (cfg == CONFIG_STATUS_FILEUNCHANGED) {
-			moh_rescan_files();
-		}
+		return 0;
+	}
+	if (cfg == CONFIG_STATUS_FILEUNCHANGED) {
+		moh_rescan_files();
 		return 0;
 	}