--- a/ext/pdo_pgsql/pgsql_statement.c
+++ b/ext/pdo_pgsql/pgsql_statement.c
@@ -184,7 +184,7 @@ stmt_retry:
 					 * chance to DEALLOCATE the prepared statements it has created. so, if we hit a 42P05 we 
 					 * deallocate it and retry ONCE (thies 2005.12.15)
 					 */
-					if (!strcmp(sqlstate, "42P05")) {
+					if (sqlstate && !strcmp(sqlstate, "42P05")) {
 						char buf[100]; /* stmt_name == "pdo_crsr_%08x" */
 						PGresult *res;
 						snprintf(buf, sizeof(buf), "DEALLOCATE %s", S->stmt_name);
