diff --git a/include/asterisk/module.h b/include/asterisk/module.h
index faa4f7f67d22ea3062cb248e36cb7d3871ce4466..08b4c4317ce7e95bb2055067700dabe15f1f4ac8 100644
--- a/include/asterisk/module.h
+++ b/include/asterisk/module.h
@@ -376,6 +376,13 @@ struct ast_module_info {
 	 */
 	const char *enhances;
 
+	/*! These reserved fields should be NULL, they exist to allow addition to this
+	 * structure in a non-breaking way. */
+	void *reserved1;
+	void *reserved2;
+	void *reserved3;
+	void *reserved4;
+
 	/*! The support level for the given module */
 	enum ast_module_support_level support_level;
 };
@@ -448,6 +455,10 @@ void __ast_module_unref(struct ast_module *mod, const char *file, int line, cons
 		NULL,                                                          \
 		NULL,                                                          \
 		NULL,                                                          \
+		NULL,                                                          \
+		NULL,                                                          \
+		NULL,                                                          \
+		NULL,                                                          \
 		support_level,                                                 \
 	};                                                                 \
 	static void  __attribute__((constructor)) __reg_module(void)       \