diff --git a/ChangeLog b/ChangeLog
index 3a45a0f72dfdc2383073573899aa46366f35e6e1..9f235b8c04b14d44af7829c5958798738e4bf955 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -16,6 +16,10 @@ Changes in version 0.2.1.14-??? - 2009-04-??
       duplicating a string at the end of a page.  This bug was
       harmless for now, but could have meant crashes later. Fix by
       lark.  Bugfix on 0.2.1.1-alpha.
+    - Limit uploaded directory documents to be 16M rather than 500K.
+      The directory authorities were refusing v3 consensus votes from
+      other authorities, since the votes are now 504K. Fixes bug 959;
+      bugfix on 0.0.2pre17 (where we raised it from 50K to 500K ;).
     - Directory authorities should never send a 503 "busy" response to
       requests for votes or keys. Bugfix on 0.2.0.8-alpha; exposed by
       bug 959.
diff --git a/src/or/or.h b/src/or/or.h
index 168ace863c429ba8101e9b5e38f436c6888fcc76..213fdb79c3367381687dab528c1dca430212e4da 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -141,7 +141,7 @@
 #define MAX_HEADERS_SIZE 50000
 /** Maximum size, in bytes, for any directory object that we're accepting
  * as an upload. */
-#define MAX_DIR_UL_SIZE 500000
+#define MAX_DIR_UL_SIZE MAX_BUF_SIZE
 
 /** Maximum size, in bytes, of a single router descriptor uploaded to us
  * as a directory authority. Caches and clients fetch whatever descriptors