diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
new file mode 100644
index ec6ae45..711186f
*** a/src/bin/psql/startup.c
--- b/src/bin/psql/startup.c
*************** main(int argc, char *argv[])
*** 205,211 ****
  		pset.popt.topt.recordSep.separator_zero = false;
  	}
  
! 	if (options.username == NULL)
  		password_prompt = pg_strdup(_("Password: "));
  	else
  		password_prompt = psprintf(_("Password for user %s: "),
--- 205,216 ----
  		pset.popt.topt.recordSep.separator_zero = false;
  	}
  
! 	if (options.username == NULL ||
! 		/*
! 		 * If the dbname is a URI, it might contain a different user,
! 		 * so don't display the -U user.
! 		 */
! 		(options.dbname && recognized_connection_string(options.dbname)))
  		password_prompt = pg_strdup(_("Password: "));
  	else
  		password_prompt = psprintf(_("Password for user %s: "),
