diff --git a/src/port/exec.c b/src/port/exec.c
index cc044ea5f032c9f9b0b8e2d33182367f657650f7..8aaee2bb5f2b13a4606b621d611613a8a6eba05c 100644
--- a/src/port/exec.c
+++ b/src/port/exec.c
@@ -357,8 +357,8 @@ pipe_read_line(char *cmd, char *line, int maxsize)
 
 	if (fgets(line, maxsize, pgver) == NULL)
 	{
-		pclose(pgver);		/* no error checking */
 		perror("fgets failure");
+		pclose(pgver);		/* no error checking */
 		return NULL;
 	}