diff --git a/src/or/directory.c b/src/or/directory.c
index 7767bb99d1cad4203528be85c24c72474e586956..872cce2c9e66e75a2915449cce8577ce1313e062 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -1171,9 +1171,7 @@ directory_request_set_payload(directory_request_t *req,
                               const char *payload,
                               size_t payload_len)
 {
-  tor_assert(DIR_PURPOSE_IS_UPLOAD(req->dir_purpose) ||
-             // XXXX why not included?
-             req->dir_purpose == DIR_PURPOSE_UPLOAD_RENDDESC_V2);
+  tor_assert(DIR_PURPOSE_IS_UPLOAD(req->dir_purpose));
 
   req->payload = payload;
   req->payload_len = payload_len;
diff --git a/src/or/or.h b/src/or/or.h
index 21b8ca501870fefbbf34dc1b9f9453ae79a7d43f..5a42aada5021744677f6e0c16af7592518955146 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -423,12 +423,13 @@ typedef enum {
 #define DIR_PURPOSE_FETCH_MICRODESC 19
 #define DIR_PURPOSE_MAX_ 19
 
-/** True iff <b>p</b> is a purpose corresponding to uploading data to a
- * directory server. */
+/** True iff <b>p</b> is a purpose corresponding to uploading
+ * data to a directory server. */
 #define DIR_PURPOSE_IS_UPLOAD(p)                \
   ((p)==DIR_PURPOSE_UPLOAD_DIR ||               \
    (p)==DIR_PURPOSE_UPLOAD_VOTE ||              \
-   (p)==DIR_PURPOSE_UPLOAD_SIGNATURES)
+   (p)==DIR_PURPOSE_UPLOAD_SIGNATURES || \
+   (p)==DIR_PURPOSE_UPLOAD_RENDDESC_V2)
 
 #define EXIT_PURPOSE_MIN_ 1
 /** This exit stream wants to do an ordinary connect. */