diff --git a/include/env/phytec/overlays.env b/include/env/phytec/overlays.env
index febb991..78721cd 100644
--- a/include/env/phytec/overlays.env
+++ b/include/env/phytec/overlays.env
@@ -6,32 +6,33 @@
 
 /* Logic to load and apply overlays. Load overlays from bootenv.txt into
  * environment and apply those overlays.
- * The variables bootenv_addr and fdto_addr are board specific. */
+ * The variables bootenv_addr_r and fdtoverlay_addr_r are board specific.
+ * get_cmd can be either tftp or dhcp. */
 
 bootenv=bootenv.txt
-mmc_load_bootenv=load mmc ${mmcdev}:${mmcpart} ${bootenv_addr} ${bootenv}
-mmc_load_overlay=load mmc ${mmcdev}:${mmcpart} ${fdto_addr} ${overlay}
+mmc_load_bootenv=load mmc ${mmcdev}:${mmcpart} ${bootenv_addr_r} ${bootenv}
+mmc_load_overlay=load mmc ${mmcdev}:${mmcpart} ${fdtoverlay_addr_r} ${overlay}
 mmc_apply_overlays=
-	fdt address ${fdt_addr};
+	fdt address ${fdt_addr_r};
 	if test ${no_overlays} = 0; then
 		for overlay in ${overlays};
 		do;
 			if run mmc_load_overlay; then
 				fdt resize ${filesize};
-				fdt apply ${fdto_addr};
+				fdt apply ${fdtoverlay_addr_r};
 			fi;
 		done;
 	fi;
-net_load_bootenv=${get_cmd} ${bootenv_addr} ${bootenv}
-net_load_overlay=${get_cmd} ${fdto_addr} ${overlay}
+net_load_bootenv=${get_cmd} ${bootenv_addr_r} ${bootenv}
+net_load_overlay=${get_cmd} ${fdtoverlay_addr_r} ${overlay}
 net_apply_overlays=
-	fdt address ${fdt_addr};
+	fdt address ${fdt_addr_r};
 	if test ${no_overlays} = 0; then
 		for overlay in ${overlays};
 		do;
 			if run net_load_overlay; then
 				fdt resize ${filesize};
-				fdt apply ${fdto_addr};
+				fdt apply ${fdtoverlay_addr_r};
 			fi;
 		done;
 	fi;
