diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c
index 2ae989e3e5..f2d277dfec 100644
--- a/src/interfaces/ecpg/ecpglib/misc.c
+++ b/src/interfaces/ecpg/ecpglib/misc.c
@@ -232,7 +232,6 @@ void
 ecpg_log(const char *format,...)
 {
 	va_list		ap;
-	struct sqlca_t *sqlca = ECPGget_sqlca();
 	const char *intl_format;
 	int			bufsize;
 	char	   *fmt;
@@ -272,10 +271,14 @@ ecpg_log(const char *format,...)
 		va_end(ap);
 
 		/* dump out internal sqlca variables */
-		if (ecpg_internal_regression_mode && sqlca != NULL)
+		if (ecpg_internal_regression_mode)
 		{
-			fprintf(debugstream, "[NO_PID]: sqlca: code: %ld, state: %s\n",
-					sqlca->sqlcode, sqlca->sqlstate);
+			struct sqlca_t *sqlca = ECPGget_sqlca();
+			if (sqlca != NULL)
+			{
+				fprintf(debugstream, "[NO_PID]: sqlca: code: %ld, state: %s\n",
+						sqlca->sqlcode, sqlca->sqlstate);
+			}
 		}
 
 		fflush(debugstream);
