diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 6ead800aeb1324c1078359dc00813ee8b5116fd7..2cd3ab4cf72d48691a04f2bb9333a58fadd8bfca 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -1512,6 +1512,12 @@ do_connect(char *dbname, char *user, char *host, char *port)
 			   *n_conn;
 	char	   *password = NULL;
 
+	if (!o_conn && (!dbname || !user || !host || !port))
+	{
+		fputs(_("All connection parameters must be supplied because no database connection exists\n"), stderr);
+		return false;
+	}
+
 	if (!dbname)
 		dbname = PQdb(o_conn);
 	if (!user)