diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index dc05f68..cab727f 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -68,6 +68,9 @@
 /************************************************************************
 ************************************************************************/
 
+/* Function that returns a character from the environment */
+extern uchar (*env_get_char)(int);
+
 /* Function that returns a pointer to a value from the environment */
 /* (Only memory version supported / needed). */
 extern uchar *env_get_addr(int);
diff --git a/common/env_common.c b/common/env_common.c
index f366fdb..a494812 100644
--- a/common/env_common.c
+++ b/common/env_common.c
@@ -50,6 +50,7 @@
 extern uchar env_get_char_spec(int);
 
 static uchar env_get_char_init (int index);
+uchar (*env_get_char)(int) = env_get_char_init;
 
 /************************************************************************
  * Default settings to be used when no valid environment is found
@@ -181,19 +182,6 @@
 }
 #endif
 
-uchar env_get_char (int index)
-{
-	uchar c;
-
-	/* if relocated to RAM */
-	if (gd->flags & GD_FLG_RELOC)
-		c = env_get_char_memory(index);
-	else
-		c = env_get_char_init(index);
-
-	return (c);
-}
-
 uchar *env_get_addr (int index)
 {
 	if (gd->env_valid) {
@@ -227,6 +215,11 @@
 	DEBUGF ("%s[%d] malloced ENV at %p\n", __FUNCTION__,__LINE__,env_ptr);
 #endif
 
+	/*
+	 * After relocation to RAM, we can always use the "memory" functions
+	 */
+	env_get_char = env_get_char_memory;
+
 	if (gd->env_valid == 0) {
 #if defined(CONFIG_GTH)	|| defined(CFG_ENV_IS_NOWHERE)	/* Environment not changable */
 		puts ("Using default environment\n\n");
diff --git a/common/env_eeprom.c b/common/env_eeprom.c
index fae87ca..2adc129 100644
--- a/common/env_eeprom.c
+++ b/common/env_eeprom.c
@@ -38,6 +38,7 @@
 
 char * env_name_spec = "EEPROM";
 
+extern uchar (*env_get_char)(int);
 extern uchar env_get_char_memory (int index);
 
 
diff --git a/common/env_nvram.c b/common/env_nvram.c
index bfc8d02..7c18896 100644
--- a/common/env_nvram.c
+++ b/common/env_nvram.c
@@ -63,6 +63,7 @@
 extern uchar default_environment[];
 extern int default_environment_size;
 
+extern uchar (*env_get_char)(int);
 extern uchar env_get_char_memory (int index);
 
 #ifdef CONFIG_AMIGAONEG3SE
diff --git a/common/ft_build.c b/common/ft_build.c
index 0b6c2b7..0e5699a 100644
--- a/common/ft_build.c
+++ b/common/ft_build.c
@@ -396,6 +396,8 @@
 
 /********************************************************************/
 
+/* Function that returns a character from the environment */
+extern uchar(*env_get_char) (int);
 
 void ft_setup(void *blob, bd_t * bd, ulong initrd_start, ulong initrd_end)
 {
