diff --git a/changes/bug32639 b/changes/bug32639
new file mode 100644
index 0000000000000000000000000000000000000000..1237ba074f19feac714785d13817fdaf47c41bcb
--- /dev/null
+++ b/changes/bug32639
@@ -0,0 +1,4 @@
+  o Minor bugfixes (onion services):
+    - In cancel_descriptor_fetches(), use connection_list_by_type_purpose()
+      instead of connection_list_by_type_state(). Fixes bug 32639; bugfix on
+      0.3.2.1-alpha. Patch by Neel Chauhan.
diff --git a/src/feature/hs/hs_client.c b/src/feature/hs/hs_client.c
index b5030da4731e92ef86949febd258f9766f701f73..6656ab2edb9b846ae522732ccd240a1085a8503c 100644
--- a/src/feature/hs/hs_client.c
+++ b/src/feature/hs/hs_client.c
@@ -145,7 +145,7 @@ static void
 cancel_descriptor_fetches(void)
 {
   smartlist_t *conns =
-    connection_list_by_type_state(CONN_TYPE_DIR, DIR_PURPOSE_FETCH_HSDESC);
+    connection_list_by_type_purpose(CONN_TYPE_DIR, DIR_PURPOSE_FETCH_HSDESC);
   SMARTLIST_FOREACH_BEGIN(conns, connection_t *, conn) {
     const hs_ident_dir_conn_t *ident = TO_DIR_CONN(conn)->hs_ident;
     if (BUG(ident == NULL)) {