diff --git a/community/jruby/APKBUILD b/community/jruby/APKBUILD
index b0a121bcbc7ad0cb7b86784d3a3aaec880c98d44..5716d5d67093230a2ab9123c5553c22d4fe4638a 100644
--- a/community/jruby/APKBUILD
+++ b/community/jruby/APKBUILD
@@ -134,4 +134,4 @@ _mvgem() {
 }
 
 sha512sums="79f5e8674089d2f6b260e033e3ceb4571f54cb5cedbca74ba76b52dd7cb30085a8c6c2676e9be57a8ecd9e962fbcb3682a8de38e1cdde2dc6e05bd179556edc3  jruby-bin-9.2.0.0.tar.gz
-6844b42f00a6cf30b9a3bad1b3a56d96f9b37750872bcd20e7a57e0dd901886e56788f5598f9cd9bb8d1483f2d85c04c0c1f3c3d7672104c37befc7247d9a520  jruby"
+836a73b46b9ea107b3ab51da9fea73cecd8664b7d72c4024c491c67312e6c094c215aa9d22d1e3f9f2402816bc0200dd4060d1895f4ba28424228d6cdbac8a9d  jruby"
diff --git a/community/jruby/jruby b/community/jruby/jruby
index f5a86d8936506f4aefe2519b5e35e5b6ab305d36..350d07a348008ac8e17d79fb12978dd25c5da539 100644
--- a/community/jruby/jruby
+++ b/community/jruby/jruby
@@ -100,13 +100,13 @@ while [ $# -gt 0 ]; do
 	;;
 	-J-ea)
 		verify_jruby='yes'
-		java_opts="$java_opts ${1:2}"
+		java_opts="$java_opts ${1#-J}"
 	;;
 	-J-Djava.security.egd=)
 		java_security_egd="${1#-J-Djava.security.egd=}"
 	;;
 	-J*)
-		java_opts="$java_opts ${1:2}"
+		java_opts="$java_opts ${1#-J}"
 	;;
 	 # Pass -X... and -X? search options through.
 	 -X*\.\.\.|-X*\?)
@@ -114,7 +114,7 @@ while [ $# -gt 0 ]; do
 	;;
 	 # Match -Xa.b.c=d to translate to -Da.b.c=d as a Java option.
 	 -X*)
-		val="${1:2}"
+		val="${1#-X}"
 		if expr "$val" : '.*[.]' > /dev/null; then
 			java_opts="$java_opts -Djruby.$val"
 		else