diff --git a/src/backend/storage/ipc/sinval.c b/src/backend/storage/ipc/sinval.c
index edd0d73a46f2644d66fece08924b4439aecac214..264f700207c3ed5b33f1addd083ad5cdcce2fe60 100644
--- a/src/backend/storage/ipc/sinval.c
+++ b/src/backend/storage/ipc/sinval.c
@@ -91,10 +91,10 @@ ReceiveSharedInvalidMessages(
 	/* Deal with any messages still pending from an outer recursion */
 	while (nextmsg < nummsgs)
 	{
-		SharedInvalidationMessage *msg = &messages[nextmsg++];
+		SharedInvalidationMessage msg = messages[nextmsg++];
 
 		SharedInvalidMessageCounter++;
-		invalFunction(msg);
+		invalFunction(&msg);
 	}
 
 	do
@@ -121,10 +121,10 @@ ReceiveSharedInvalidMessages(
 
 		while (nextmsg < nummsgs)
 		{
-			SharedInvalidationMessage *msg = &messages[nextmsg++];
+			SharedInvalidationMessage msg = messages[nextmsg++];
 
 			SharedInvalidMessageCounter++;
-			invalFunction(msg);
+			invalFunction(&msg);
 		}
 
 		/*