diff --git a/aclocal/ax_lib_event.m4 b/aclocal/ax_lib_event.m4
index 3a48156..08043b4 100644
--- a/aclocal/ax_lib_event.m4
+++ b/aclocal/ax_lib_event.m4
@@ -83,12 +83,32 @@
           const char* wnt_version = "$WANT_LIBEVENT_VERSION";
           for (;;) {
             /* If we reached the end of the want version.  We have it. */
-            if (*wnt_version == '\0') {
+            if (*wnt_version == '\0' || *wnt_version == '-') {
               return 0;
             }
             /* If the want version continues but the lib version does not, */
             /* we are missing a letter.  We don't have it. */
-            if (*lib_version == '\0') {
+            if (*lib_version == '\0' || *lib_version == '-') {
+              return 1;
+            }
+            /* In the 1.4 version numbering style, if there are more digits */
+            /* in one version than the other, that one is higher. */
+            int lib_digits;
+            for (lib_digits = 0;
+                lib_version[lib_digits] >= '0' &&
+                lib_version[lib_digits] <= '9';
+                lib_digits++)
+              ;
+            int wnt_digits;
+            for (wnt_digits = 0;
+                wnt_version[wnt_digits] >= '0' &&
+                wnt_version[wnt_digits] <= '9';
+                wnt_digits++)
+              ;
+            if (lib_digits > wnt_digits) {
+              return 0;
+            }
+            if (lib_digits < wnt_digits) {
               return 1;
             }
             /* If we have greater than what we want.  We have it. */
