diff --git a/common/env_common.c b/common/env_common.c
index 8a71096..71811c4 100644
--- a/common/env_common.c
+++ b/common/env_common.c
@@ -124,6 +124,13 @@
 
 struct hsearch_data env_htab;
 
+static uchar __env_get_char_spec(int index)
+{
+	return *((uchar *)(gd->env_addr + index));
+}
+uchar env_get_char_spec(int)
+	__attribute__((weak, alias("__env_get_char_spec")));
+
 static uchar env_get_char_init(int index)
 {
 	/* if crc was bad, use the default environment */
diff --git a/common/env_flash.c b/common/env_flash.c
index a99f850..aa970d4 100644
--- a/common/env_flash.c
+++ b/common/env_flash.c
@@ -73,11 +73,6 @@
 #endif /* CONFIG_ENV_ADDR_REDUND */
 
 
-uchar env_get_char_spec(int index)
-{
-	return *((uchar *)(gd->env_addr + index));
-}
-
 #ifdef CONFIG_ENV_ADDR_REDUND
 int env_init(void)
 {
diff --git a/common/env_mgdisk.c b/common/env_mgdisk.c
index 5dd92e7..d00e141 100644
--- a/common/env_mgdisk.c
+++ b/common/env_mgdisk.c
@@ -33,11 +33,6 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-uchar env_get_char_spec(int index)
-{
-	return *((uchar *)(gd->env_addr + index));
-}
-
 void env_relocate_spec(void)
 {
 	char buf[CONFIG_ENV_SIZE];
diff --git a/common/env_mmc.c b/common/env_mmc.c
index 8441c77..0c58ae1 100644
--- a/common/env_mmc.c
+++ b/common/env_mmc.c
@@ -54,11 +54,6 @@
 int mmc_get_env_addr(struct mmc *mmc, u32 *env_addr)
 	__attribute__((weak, alias("__mmc_get_env_addr")));
 
-uchar env_get_char_spec(int index)
-{
-	return *((uchar *)(gd->env_addr + index));
-}
-
 int env_init(void)
 {
 	/* use default */
diff --git a/common/env_nand.c b/common/env_nand.c
index 3cb75c8..e8daec9 100644
--- a/common/env_nand.c
+++ b/common/env_nand.c
@@ -66,11 +66,6 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-uchar env_get_char_spec(int index)
-{
-	return *((uchar *)(gd->env_addr + index));
-}
-
 /*
  * This is called before nand_init() so we can't read NAND to
  * validate env data.
diff --git a/common/env_nowhere.c b/common/env_nowhere.c
index 8a3ca19..18fcf2c 100644
--- a/common/env_nowhere.c
+++ b/common/env_nowhere.c
@@ -37,11 +37,6 @@
 {
 }
 
-uchar env_get_char_spec(int index)
-{
-	return *((uchar *)(gd->env_addr + index));
-}
-
 /*
  * Initialize Environment use
  *
diff --git a/common/env_nvram.c b/common/env_nvram.c
index 726eaac..6483db3 100644
--- a/common/env_nvram.c
+++ b/common/env_nvram.c
@@ -59,18 +59,16 @@
 
 char *env_name_spec = "NVRAM";
 
+#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
 uchar env_get_char_spec(int index)
 {
-#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
 	uchar c;
 
 	nvram_read(&c, CONFIG_ENV_ADDR + index, 1);
 
 	return c;
-#else
-	return *((uchar *)(gd->env_addr + index));
-#endif
 }
+#endif
 
 void env_relocate_spec(void)
 {
diff --git a/common/env_onenand.c b/common/env_onenand.c
index 0ad2fc7..652665a 100644
--- a/common/env_onenand.c
+++ b/common/env_onenand.c
@@ -44,11 +44,6 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-uchar env_get_char_spec(int index)
-{
-	return *((uchar *)(gd->env_addr + index));
-}
-
 void env_relocate_spec(void)
 {
 	struct mtd_info *mtd = &onenand_mtd;
diff --git a/common/env_sf.c b/common/env_sf.c
index 592b870..bbd472f 100644
--- a/common/env_sf.c
+++ b/common/env_sf.c
@@ -59,11 +59,6 @@
 
 static struct spi_flash *env_flash;
 
-uchar env_get_char_spec(int index)
-{
-	return *((uchar *)(gd->env_addr + index));
-}
-
 #if defined(CONFIG_ENV_OFFSET_REDUND)
 int saveenv(void)
 {
