diff --git a/main/loader.c b/main/loader.c
index ebad7fda6a45f9e50976c71510ea195b79ea6c70..e167f474efe5fa5346ab0ab759410e7f6b22daae 100644
--- a/main/loader.c
+++ b/main/loader.c
@@ -529,6 +529,7 @@ int ast_module_reload(const char *name)
 		ast_verbose("The previous reload command didn't finish yet\n");
 		return -1;	/* reload already in progress */
 	}
+	ast_lastreloadtime = time(NULL);
 
 	/* Call "predefined" reload here first */
 	for (i = 0; reload_classes[i].name; i++) {
@@ -537,7 +538,6 @@ int ast_module_reload(const char *name)
 			res = 2;	/* found and reloaded */
 		}
 	}
-	ast_lastreloadtime = time(NULL);
 
 	if (name && res) {
 		ast_mutex_unlock(&reloadlock);