diff --git a/sunrise-commit b/sunrise-commit
index f8f3209..8dc303b 100755
--- a/sunrise-commit
+++ b/sunrise-commit
@@ -4,13 +4,17 @@
 # Released under the terms of the 3-clause BSD license.
 
 # Few output helpers.
-die() {
+say() {
 	echo "${@}" >&2
+}
+
+die() {
+	say "${@}"
 	exit 1
 }
 
 sayv() {
-	[ -n "${SC_VERBOSE}" ] && echo "${@}" >&2
+	[ -n "${SC_VERBOSE}" ] && say "${@}"
 }
 
 req() {
@@ -159,8 +163,36 @@ main() {
 			vcs_status
 			echo
 
+			# Do we have repoman new enough?
+			local old_repoman
+			repoman --version -a >/dev/null 2>&1
+			if [ $? -eq 2 ]; then
+				old_repoman=
+
+				say 'Please update portage to newer version in order to have repoman supporting'
+				say "--ask option and thus delay the following question until after 'repoman full'."
+				say
+
+				while true; do
+					local answ
+					printf '%s' 'Commit changes? [Yes/No] ' >&2
+					read answ
+
+					case "${answ}" in
+						[yY]|[yY][eE]|[yY][eE][sS])
+							break
+							;;
+						[nN]|[nN][oO])
+							die 'Aborting.'
+							;;
+						*)
+							say "Response '${answ}' not understood, try again."
+					esac
+				done
+			fi
+
 			sayv "Now, let's let repoman do its job..."
-			exec repoman commit -a -m "${SC_CP}: ${commitmsg}"
+			exec repoman commit ${old_repoman--a} -m "${SC_CP}: ${commitmsg}"
 			;;
 	esac
 }