diff --git a/morph/grid.nix b/morph/grid.nix
index 29596afd28735d48bad54d284851c5541105442b..1361834e4f5d1f1f1e8aa963329e7fa120c73352 100644
--- a/morph/grid.nix
+++ b/morph/grid.nix
@@ -19,26 +19,32 @@ import ./make-grid.nix {
     "storage000" = import ./make-storage.nix ({
         cfg = import ./storage000-config.nix;
         hardware = ./storage000-hardware.nix;
+        stateVersion = "19.09";
     } // cfg);
     "storage001" = import ./make-storage.nix ({
         cfg = import ./storage001-config.nix;
         hardware = ./storage001-hardware.nix;
+        stateVersion = "19.09";
     } // cfg);
     "storage002" = import ./make-storage.nix ({
         cfg = import ./storage002-config.nix;
         hardware = ./storage002-hardware.nix;
+        stateVersion = "19.09";
     } // cfg);
     "storage003" = import ./make-storage.nix ({
         cfg = import ./storage003-config.nix;
         hardware = ./storage003-hardware.nix;
+        stateVersion = "19.09";
     } // cfg);
     "storage004" = import ./make-storage.nix ({
         cfg = import ./storage004-config.nix;
         hardware = ./storage004-hardware.nix;
+        stateVersion = "19.09";
     } // cfg);
     "storage005" = import ./make-storage.nix ({
         cfg = import ./storage005-config.nix;
         hardware = ./storage005-hardware.nix;
+        stateVersion = "19.03";
     } // cfg);
   };
 }
diff --git a/morph/make-storage.nix b/morph/make-storage.nix
index 97c6d89bef76cfadde510e8553833d366a7f2335..d7e0858b881b529f473eeb5cae26e76cdada5946 100644
--- a/morph/make-storage.nix
+++ b/morph/make-storage.nix
@@ -3,6 +3,13 @@
 , hardware                   # The path to the hardware configuration for this node.
 , publicStoragePort          # The storage port number on which to accept connections.
 , ristrettoSigningKeyPath    # The *local* path to the Ristretto signing key file.
+, stateVersion               # The value for system.stateVersion on this node.
+                             # This value determines the NixOS release with
+                             # which your system is to be compatible, in order
+                             # to avoid breaking some software such as
+                             # database servers. You should change this only
+                             # after NixOS release notes say you should.
+
 }: rec {
   deployment = {
     secrets = {
@@ -51,9 +58,5 @@
     ristrettoSigningKeyPath = deployment.secrets.ristretto-signing-key.destination;
   };
 
-  # This value determines the NixOS release with which your system is to be
-  # compatible, in order to avoid breaking some software such as database
-  # servers. You should change this only after NixOS release notes say you
-  # should.
-  system.stateVersion = "19.09"; # Did you read the comment?
+  system.stateVersion = stateVersion;
 }