diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index 7153e730a4a1..d2c6bf9d700e 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -3,7 +3,7 @@
 assert cross == null -> stdenv.isLinux;
 
 let
-  version = kernel.version;
+  version = kernel.headersVersion;
   kernelHeadersBaseConfig = if (cross == null) then
       stdenv.platform.kernelHeadersBaseConfig
     else
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 355f0c9c5ba0..6ed8164f341d 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -9,6 +9,9 @@
 , # The kernel version.
   version
 
+, # The kernel headers version.
+  headersVersion ? version
+
 , # The version number used for the module directory
   modDirVersion ? version
 
@@ -72,7 +75,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   passthru = {
-    inherit version modDirVersion headersSrc;
+    inherit version modDirVersion headersSrc headersVersion;
     # Combine the `features' attribute sets of all the kernel patches.
     features = lib.fold (x: y: (if x ? features then x.features else {}) // y) features kernelPatches;
   };