diff --git a/openwrt/target/default/target_skeleton/bin/ipkg b/openwrt/target/default/target_skeleton/bin/ipkg
index c9947c8fa0a5f04de086d59ac1784d0f6a9c313d..c05c2d13e55b7a4426350c8d9d66a614e11b23c1 100755
--- a/openwrt/target/default/target_skeleton/bin/ipkg
+++ b/openwrt/target/default/target_skeleton/bin/ipkg
@@ -21,8 +21,8 @@ set -o noglob
 
 ipkg_is_upgrade () {
   local A B a b     
-  A=$(echo $1 | sed -r "s/([0-9]+)[^A-Za-z]?/ \1 /g").
-  B=$(echo $2 | sed -r "s/([0-9]+)[^A-Za-z]?/ \1 /g").
+  A=$(echo $1 | sed -r "s/([0-9]+)[^[:alnum:]]*/ \1 /g").
+  B=$(echo $2 | sed -r "s/([0-9]+)[^[:alnum:]]*/ \1 /g").
   while [ \! -z "$A" ] && [ \! -z "$B" ]; do {        
     set $A; a=$1; shift; A=$*
     set $B; b=$1; shift; B=$*