diff --git a/src/_zkapauthorizer/_storage_server.py b/src/_zkapauthorizer/_storage_server.py
index e1591a3127d663d2adc6ac53706579c7ce68ffc2..8de998e12c95fe6476ba7bd8133a4ae9c1d0a6d4 100644
--- a/src/_zkapauthorizer/_storage_server.py
+++ b/src/_zkapauthorizer/_storage_server.py
@@ -475,7 +475,8 @@ def get_share_sizes(storage_server, storage_index_or_slot, sharenums):
                     get_size = get_slot_share_size
                 else:
                     get_size = get_storage_index_share_size
-        yield sharenum, get_size(sharepath)
+        if sharenum in sharenums:
+            yield sharenum, get_size(sharepath)
 
 
 def get_storage_index_share_size(sharepath):
diff --git a/src/_zkapauthorizer/tests/test_storage_server.py b/src/_zkapauthorizer/tests/test_storage_server.py
index fa05fe4a781c744fee53b81e3938c86673b2414f..d7eb0a46205f55b7f1904d2e371677f4b93b06a2 100644
--- a/src/_zkapauthorizer/tests/test_storage_server.py
+++ b/src/_zkapauthorizer/tests/test_storage_server.py
@@ -535,6 +535,7 @@ class PassValidationTests(TestCase):
             sharenum: get_implied_data_length(data_vector, new_length)
             for (sharenum, (testv, data_vector, new_length))
             in tw_vectors.items()
+            if sharenum in sharenums
         }
 
         actual_sizes = self.storage_server.doRemoteCall(