diff --git a/nixos/tests/private-storage.nix b/nixos/tests/private-storage.nix
index b17b8f32ed494c0823f349166f9a28f1e3dcb876..e02f9c49550d7fa4994c3d6099eda1e9374a278c 100644
--- a/nixos/tests/private-storage.nix
+++ b/nixos/tests/private-storage.nix
@@ -19,6 +19,7 @@ let
   issuerURL = "http://issuer/";
 
   voucher = "xyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxy";
+  tokenCount = 1000;
 
   # The issuer's signing key.  Notionally, this is a secret key.  This is only
   # the value for this system test though so I don't care if it leaks to the
@@ -117,6 +118,7 @@ in {
         tls = false;
         issuer = "Ristretto";
         inherit ristrettoSigningKeyPath;
+        tokensPerVoucher = tokenCount;
         letsEncryptAdminEmail = "user@example.invalid";
         allowedChargeOrigins = [ "http://unused.invalid" ];
 
@@ -157,8 +159,7 @@ in {
   testScript = ourpkgs.lib.testing.makeTestScript {
     testpath = ./test_privatestorage.py;
     kwargs = {
-      inherit sshPrivateKeyFile pemFile introducerPort introducerFURL issuerURL ristrettoPublicKey voucher;
-
+      inherit sshPrivateKeyFile pemFile introducerPort introducerFURL issuerURL ristrettoPublicKey voucher tokenCount;
       # Supply some helper programs to help the tests stay a bit higher level.
       run_introducer = ./run-introducer.py;
       run_client = ./run-client.py;
diff --git a/nixos/tests/run-client.py b/nixos/tests/run-client.py
index df37bb48901a8c97dbe6889c86af2b40d52b22f3..8d3d82720ec94b4b91e6af8791aadc58cd7ce2ad 100755
--- a/nixos/tests/run-client.py
+++ b/nixos/tests/run-client.py
@@ -12,7 +12,7 @@ from subprocess import check_output
 from configparser import ConfigParser
 
 def main():
-    (nodePath, introducerFURL, issuerURL, publicKey) = argv[1:]
+    (nodePath, introducerFURL, issuerURL, publicKey, tokenCount) = argv[1:]
 
     run(["tahoe", "--version"])
     run([
@@ -34,10 +34,7 @@ def main():
     config.set(u"storageclient.plugins.privatestorageio-zkapauthz-v1", u"redeemer", u"ristretto")
     config.set(u"storageclient.plugins.privatestorageio-zkapauthz-v1", u"ristretto-issuer-root-url", issuerURL)
     config.set(u"storageclient.plugins.privatestorageio-zkapauthz-v1", u"allowed-public-keys", publicKey)
-    # This has to agree with the PaymentServer configuration at the configured
-    # issuer location.  Presently PaymentServer has 50000 hard-coded as the
-    # correct value.
-    config.set(u"storageclient.plugins.privatestorageio-zkapauthz-v1", u"default-token-count", u"50000")
+    config.set(u"storageclient.plugins.privatestorageio-zkapauthz-v1", u"default-token-count", tokenCount)
 
     with open("/tmp/client/tahoe.cfg", "wt") as cfg:
         config.write(cfg)
diff --git a/nixos/tests/test_privatestorage.py b/nixos/tests/test_privatestorage.py
index 3b4cc7a3d934a93c7b13b5808314fb23952ebd6f..fdef4244785823a0e0d35e85a306cf3cff6b870b 100644
--- a/nixos/tests/test_privatestorage.py
+++ b/nixos/tests/test_privatestorage.py
@@ -37,6 +37,7 @@ def test(
         issuerURL,
         ristrettoPublicKey,
         voucher,
+        tokenCount,
 ):
     """
     """
@@ -95,7 +96,7 @@ def test(
     #
     # Storage appears to be working so try to get a client to speak with it.
     #
-    runOnNode(client, [run_client, "/tmp/client", introducerFURL, issuerURL, ristrettoPublicKey])
+    runOnNode(client, [run_client, "/tmp/client", introducerFURL, issuerURL, ristrettoPublicKey, str(tokenCount)])
     client.wait_for_open_port(3456)
 
     # Make sure the fake Stripe API server is ready for requests.