diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
index 3d51eb0..ba12f1f 100644
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@ -676,7 +676,10 @@
 	fi
 
 	if ___eapi_has_prefix_variables; then
-		if [[ ${root} == / ]] ; then
+		# [[ ${root} == / ]] would be ambiguous here,
+		# since both prefixes can share root=/ while
+		# having different EPREFIX offsets.
+		if ${host_root} ; then
 			eroot=${root%/}${PORTAGE_OVERRIDE_EPREFIX}/
 		else
 			eroot=${root%/}${EPREFIX}/
@@ -732,7 +735,10 @@
 	fi
 
 	if ___eapi_has_prefix_variables; then
-		if [[ ${root} == / ]] ; then
+		# [[ ${root} == / ]] would be ambiguous here,
+		# since both prefixes can share root=/ while
+		# having different EPREFIX offsets.
+		if ${host_root} ; then
 			eroot=${root%/}${PORTAGE_OVERRIDE_EPREFIX}/
 		else
 			eroot=${root%/}${EPREFIX}/
diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index b331b10..c31ad1d 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -3800,8 +3800,7 @@
 				_emerge.emergelog._emerge_log_dir = emerge_log_dir
 		else:
 			_emerge.emergelog._emerge_log_dir = os.path.join(os.sep,
-				emerge_config.target_config.settings["EPREFIX"].lstrip(os.sep),
-				"var", "log")
+				portage.const.EPREFIX.lstrip(os.sep), "var", "log")
 			portage.util.ensure_dirs(_emerge.emergelog._emerge_log_dir)
 
 	if not "--pretend" in emerge_config.opts:
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 2510f86..7656c6e 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -577,7 +577,7 @@
 
 	trees._target_eroot = settings['EROOT']
 	myroots = [(settings['EROOT'], settings)]
-	if settings["ROOT"] == "/":
+	if settings["ROOT"] == "/" and settings["EPREFIX"] == const.EPREFIX:
 		trees._running_eroot = trees._target_eroot
 	else:
 
@@ -593,7 +593,7 @@
 			if v is not None:
 				clean_env[k] = v
 		settings = config(config_root=None, target_root="/",
-			env=clean_env, eprefix=eprefix)
+			env=clean_env, eprefix=None)
 		settings.lock()
 		trees._running_eroot = settings['EROOT']
 		myroots.append((settings['EROOT'], settings))
diff --git a/pym/portage/package/ebuild/_config/LocationsManager.py b/pym/portage/package/ebuild/_config/LocationsManager.py
index 7e799b8..e328441 100644
--- a/pym/portage/package/ebuild/_config/LocationsManager.py
+++ b/pym/portage/package/ebuild/_config/LocationsManager.py
@@ -49,7 +49,7 @@
 			self.eprefix = portage.const.EPREFIX
 
 		if self.config_root is None:
-			self.config_root = self.eprefix + os.sep
+			self.config_root = portage.const.EPREFIX + os.sep
 
 		self.config_root = normalize_path(os.path.abspath(
 			self.config_root)).rstrip(os.path.sep) + os.path.sep
diff --git a/pym/portage/tests/emerge/test_simple.py b/pym/portage/tests/emerge/test_simple.py
index c1abd52..dc7ddb7 100644
--- a/pym/portage/tests/emerge/test_simple.py
+++ b/pym/portage/tests/emerge/test_simple.py
@@ -201,6 +201,8 @@
 		test_ebuild = portdb.findname("dev-libs/A-1")
 		self.assertFalse(test_ebuild is None)
 
+		cross_prefix = os.path.join(eprefix, "cross_prefix")
+
 		test_commands = (
 			env_update_cmd,
 			portageq_cmd + ("envvar", "-v", "CONFIG_PROTECT", "EROOT",
@@ -266,6 +268,24 @@
 			emerge_cmd + ("-p", "--unmerge", "-q", eroot + "usr"),
 			emerge_cmd + ("--unmerge", "--quiet", "dev-libs/A"),
 			emerge_cmd + ("-C", "--quiet", "dev-libs/B"),
+
+			# Test cross-prefix usage, including chpathtool for binpkgs.
+			({"EPREFIX" : cross_prefix},) + \
+				emerge_cmd + ("--usepkgonly", "dev-libs/A"),
+			({"EPREFIX" : cross_prefix},) + \
+				portageq_cmd + ("has_version", cross_prefix, "dev-libs/A"),
+			({"EPREFIX" : cross_prefix},) + \
+				portageq_cmd + ("has_version", cross_prefix, "dev-libs/B"),
+			({"EPREFIX" : cross_prefix},) + \
+				emerge_cmd + ("-C", "--quiet", "dev-libs/B"),
+			({"EPREFIX" : cross_prefix},) + \
+				emerge_cmd + ("-C", "--quiet", "dev-libs/A"),
+			({"EPREFIX" : cross_prefix},) + \
+				emerge_cmd + ("dev-libs/A",),
+			({"EPREFIX" : cross_prefix},) + \
+				portageq_cmd + ("has_version", cross_prefix, "dev-libs/A"),
+			({"EPREFIX" : cross_prefix},) + \
+				portageq_cmd + ("has_version", cross_prefix, "dev-libs/B"),
 		)
 
 		distdir = playground.distdir
