diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index 383ab5af129f16..1901cfc6ff3d0d 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -94,6 +94,7 @@ stdenv.mkDerivation rec {
 
   preBuild = ''
     export LANG=C.UTF-8 # fix elixir locale warning
+    export PROJECT_VERSION="$version"
   '';
 
   postInstall = ''
@@ -113,6 +114,19 @@ stdenv.mkDerivation rec {
     rm $out/INSTALL
   '';
 
+  # Can not use versionCheckHook since that doesn't allow for setting environment variables
+  # which is necessary since Erlang needs a $HOME for the Cookie.
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    out="$(env - LANG=C.utf8 HOME=/build ${placeholder "out"}/bin/rabbitmqctl version)"
+    if [[ "$out" != "$version" ]]; then
+      echo "Rabbitmq should report version $version, but thinks it's version $out" >&2
+      exit 1
+    fi
+    runHook postInstallCheck
+  '';
+
   passthru.tests = {
     vm-test = nixosTests.rabbitmq;
   };