diff --git a/res/res_calendar_ews.c b/res/res_calendar_ews.c
index 51086823d33205074aba66a6debc33f5b66ed3a9..c45ac0b7546daef1e73483219572a2445cc26767 100644
--- a/res/res_calendar_ews.c
+++ b/res/res_calendar_ews.c
@@ -907,8 +907,17 @@ static void *ewscal_load_calendar(void *void_data)
 static int load_module(void)
 {
 	/* Actualy, 0.29.1 is required (because of NTLM authentication), but this
-	 * function does not support matching patch version. */
-	if (ne_version_match(0, 29)) {
+	 * function does not support matching patch version.
+	 *
+	 * The ne_version_match function returns non-zero if the library
+	 * version is not of major version major, or the minor version
+	 * is less than minor. For neon versions 0.x, every minor
+	 * version is assumed to be incompatible with every other minor
+	 * version.
+	 *
+	 * I.e. for version 1.2..1.9 we would do ne_version_match(1, 2)
+	 * but for version 0.29 and 0.30 we need two checks. */
+	if (ne_version_match(0, 29) && ne_version_match(0, 30)) {
 		ast_log(LOG_ERROR, "Exchange Web Service calendar module require neon >= 0.29.1, but %s is installed.\n", ne_version_string());
 		return AST_MODULE_LOAD_DECLINE;
 	}