diff --git a/app-admin/eselect-vi/eselect-vi-1.1.7-r1.ebuild b/app-admin/eselect-vi/eselect-vi-1.1.7-r1.ebuild
new file mode 100644
index 0000000..01e58c3
--- /dev/null
+++ b/app-admin/eselect-vi/eselect-vi-1.1.7-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-vi/eselect-vi-1.1.7-r1.ebuild,v 1.10 2010/10/29 22:14:00 halcy0n Exp $
+
+EAPI="3"
+inherit eutils
+
+DESCRIPTION="Manages the /usr/bin/vi symlink"
+HOMEPAGE="http://www.gentoo.org/"
+SRC_URI="mirror://gentoo/vi.eselect-${PV}.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND=">=app-admin/eselect-1.0.6"
+
+src_prepare() {
+	epatch "${FILESDIR}/${P}-prefix.patch"
+}
+
+src_install() {
+	insinto /usr/share/eselect/modules
+	newins "${WORKDIR}/vi.eselect-${PV}" vi.eselect || die
+}
diff --git a/app-admin/eselect-vi/files/eselect-vi-1.1.7-prefix.patch b/app-admin/eselect-vi/files/eselect-vi-1.1.7-prefix.patch
new file mode 100644
index 0000000..447e1fa
--- /dev/null
+++ b/app-admin/eselect-vi/files/eselect-vi-1.1.7-prefix.patch
@@ -0,0 +1,136 @@
+--- vi.eselect-1.1.7.orig	2010-04-24 16:16:14.000000000 +0200
++++ vi.eselect-1.1.7	2010-04-24 16:20:02.000000000 +0200
+@@ -12,13 +12,13 @@
+ find_targets() {
+ 	local f
+ 	for f in \
+-			"${ROOT}"/usr/bin/vim \
+-			"${ROOT}"/usr/bin/nvi \
+-			"${ROOT}"/usr/bin/elvis \
+-			"${ROOT}"/usr/bin/vile \
+-			"${ROOT}"/usr/bin/gvim \
+-			"${ROOT}"/usr/bin/xvile \
+-			"${ROOT}"/bin/busybox \
++			"${EROOT}"/usr/bin/vim \
++			"${EROOT}"/usr/bin/nvi \
++			"${EROOT}"/usr/bin/elvis \
++			"${EROOT}"/usr/bin/vile \
++			"${EROOT}"/usr/bin/gvim \
++			"${EROOT}"/usr/bin/xvile \
++			"${EROOT}"/bin/busybox \
+ 		; do
+ 		if [[ -f "${f}" ]] ; then
+ 			echo $(basename "${f}" )
+@@ -28,8 +28,8 @@
+ 
+ # try to remove the vi, ex, view and man vi symlinks
+ remove_symlinks() {
+-	rm -f "${ROOT}"/usr/bin/{vi,ex,view} &>/dev/null && \
+-	rm -f "${ROOT}"/usr/share/man/man1/{vi,ex,view}.1{,.gz,.bz2,.lzma} &>/dev/null
++	rm -f "${EROOT}"/usr/bin/{vi,ex,view} &>/dev/null && \
++	rm -f "${EROOT}"/usr/share/man/man1/{vi,ex,view}.1{,.gz,.bz2,.lzma} &>/dev/null
+ }
+ 
+ # set a man page symlink
+@@ -37,7 +37,7 @@
+ 	local target="${1}" link_name="${2}" x extension
+ 
+ 	for x in ".1" ".1.bz2" ".1.gz" ".1.lzma" ; do
+-		if [[ -e /usr/share/man/man1/${target}${x} ]] ; then
++		if [[ -e ${EROOT}/usr/share/man/man1/${target}${x} ]] ; then
+ 			extension="${x}"
+ 			break
+ 		fi
+@@ -49,7 +49,7 @@
+ 	fi
+ 
+ 	ln -s "${target}${extension}" \
+-		"${ROOT}/usr/share/man/man1/${link_name}${extension}"
++		"${EROOT}/usr/share/man/man1/${link_name}${extension}"
+ }
+ 
+ # set the vi, ex, view, and man vi symlinks
+@@ -62,9 +62,9 @@
+ 
+ 	local dir
+ 	if [[ ${target} == "busybox" ]]; then
+-		dir="${ROOT}/bin"
++		dir="${EROOT}/bin"
+ 	else
+-		dir="${ROOT}/usr/bin"
++		dir="${EROOT}/usr/bin"
+ 	fi
+ 
+ 	if [[ -f "${dir}/${target}" ]] ; then
+@@ -76,12 +76,12 @@
+ 		set_man_symlink "${target}" "view"
+ 
+ 		# it's not okay if these fail
+-		target=$(relative_name "${dir}/${target}" "${ROOT}/usr/bin")
+-		ln -s "${target}" "${ROOT}/usr/bin/vi" \
++		target=$(relative_name "${dir}/${target}" "${EROOT}/usr/bin")
++		ln -s "${target}" "${EROOT}/usr/bin/vi" \
+ 			|| die "Couldn't set ${target} /usr/bin/vi symlink"
+-		ln -s "${target}" "${ROOT}/usr/bin/ex" \
++		ln -s "${target}" "${EROOT}/usr/bin/ex" \
+ 			|| die "Couldn't set ${target} /usr/bin/ex symlink"
+-		ln -s "${target}" "${ROOT}/usr/bin/view" \
++		ln -s "${target}" "${EROOT}/usr/bin/view" \
+ 			|| die "Couldn't set ${target} /usr/bin/view symlink"
+ 	else
+ 		die -q  "Target \"${1}\" doesn't appear to be valid!"
+@@ -98,9 +98,9 @@
+ 	[[ -z "${@}" ]] || die -q "Too many parameters"
+ 
+ 	write_list_start "Current vi implementation:"
+-	if [[ -L "${ROOT}/usr/bin/vi" ]] ; then
+-		write_kv_list_entry "$(basename $(canonicalise ${ROOT}/usr/bin/vi ) )" ""
+-	elif [[ -e "${ROOT}/usr/bin/vi" ]] ; then
++	if [[ -L "${EROOT}/usr/bin/vi" ]] ; then
++		write_kv_list_entry "$(basename $(canonicalise ${EROOT}/usr/bin/vi ) )" ""
++	elif [[ -e "${EROOT}/usr/bin/vi" ]] ; then
+ 		write_kv_list_entry "(not a symlink)" ""
+ 	else
+ 		write_kv_list_entry "(unset)" ""
+@@ -120,7 +120,7 @@
+ 	targets=( $(find_targets ) )
+ 	for (( i = 0; i < ${#targets[@]}; i++ )); do
+ 		[[ ${targets[i]} = \
+-			$(basename "$(canonicalise "${ROOT}/usr/bin/vi")") ]] \
++			$(basename "$(canonicalise "${EROOT}/usr/bin/vi")") ]] \
+ 			&& targets[i]=$(highlight_marker "${targets[i]}")
+ 	done
+ 	write_list_start "Available vi implementations:"
+@@ -148,15 +148,15 @@
+ 	elif [[ -n "${2}" ]] ; then
+ 		die -q "Too many parameters"
+ 
+-	elif [[ -L "${ROOT}/usr/bin/vi" ]] ; then
++	elif [[ -L "${EROOT}/usr/bin/vi" ]] ; then
+ 		if ! remove_symlinks ; then
+ 			die -q "Can't remove existing provider"
+ 		elif ! set_symlinks "${1}" ; then
+ 			die -q "Can't set new provider"
+ 		fi
+ 
+-	elif [[ -e "${ROOT}/usr/bin/vi" ]] ; then
+-		die -q "Sorry, ${ROOT}/usr/bin/vi confuses me"
++	elif [[ -e "${EROOT}/usr/bin/vi" ]] ; then
++		die -q "Sorry, ${EROOT}/usr/bin/vi confuses me"
+ 
+ 	else
+ 		set_symlinks "${1}" || die -q "Can't set a new provider"
+@@ -177,11 +177,11 @@
+ 	[[ -z "${1}" ]] || ( [[ -z "${2}" ]] && [[ "${1}" == "--if-unset" ]] ) || \
+ 		die -q "Usage error"
+ 
+-	if [[ -L "${ROOT}/usr/bin/vi" ]] ; then
++	if [[ -L "${EROOT}/usr/bin/vi" ]] ; then
+ 		[[ ${1} == "--if-unset" ]] && return
+ 		remove_symlinks || die -q "Can't remove existing link"
+ 	fi
+-	if [[ -e "${ROOT}/usr/bin/vi" ]] ; then
++	if [[ -e "${EROOT}/usr/bin/vi" ]] ; then
+ 		die -q "Can't set a new provider"
+ 	elif ! [[ -z $(find_targets ) ]] ; then
+ 		set_symlinks 1 || die -q "Can't set a new provider"
