diff --git a/arch/x86/lib/board.c b/arch/x86/lib/board.c
index 2309e00be1cce94cff44c08a6e03669c86beafdc..8963580808650c2334a4c03e480908dade98bad2 100644
--- a/arch/x86/lib/board.c
+++ b/arch/x86/lib/board.c
@@ -74,14 +74,8 @@ extern ulong __bss_end;
  */
 static int init_baudrate (void)
 {
-	char tmp[64];	/* long enough for environment variables */
-	int i = getenv_f("baudrate", tmp, 64);
-
-	gd->baudrate = (i != 0)
-			? (int) simple_strtoul (tmp, NULL, 10)
-			: CONFIG_BAUDRATE;
-
-	return (0);
+	gd->baudrate = getenv_ulong("baudrate", 10, CONFIG_BAUDRATE);
+	return 0;
 }
 
 static int display_banner (void)
@@ -360,9 +354,7 @@ void board_init_r(gd_t *id, ulong dest_addr)
 	udelay(20);
 
 	/* Initialize from environment */
-	if ((s = getenv ("loadaddr")) != NULL) {
-		load_addr = simple_strtoul (s, NULL, 16);
-	}
+	load_addr = getenv_ulong("loadaddr", 16, load_addr);
 #if defined(CONFIG_CMD_NET)
 	if ((s = getenv ("bootfile")) != NULL) {
 		copy_filename (BootFile, s, sizeof (BootFile));