diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.script b/package/network/ipv6/odhcp6c/files/dhcpv6.script
index 8bcf76681cb7e1e6da60610c4977a769824d00a3..13732df0864c649cf765f39b936592bd8e5bc678 100755
--- a/package/network/ipv6/odhcp6c/files/dhcpv6.script
+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.script
@@ -68,7 +68,7 @@ setup_interface () {
 			proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid"
 		else
 			proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "::/128"
-			for prefix in $PREFIXES; do
+			for prefix in $PREFIXES $ADDRESSES; do
 				local paddr="${prefix%%,*}"
 				proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "$paddr"
 			done
diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh
index 0638d28f5f8532cd079d2ba1e29cf2c74bb1e4bc..cffb3ec22a6cff43ba3e36b19d72f5b2ae987261 100755
--- a/package/network/ipv6/odhcp6c/files/dhcpv6.sh
+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh
@@ -49,7 +49,7 @@ proto_dhcpv6_setup() {
 
 	[ -n "$ip6prefix" ] && proto_export "USERPREFIX=$ip6prefix"
 	[ -n "$iface_dslite" ] && proto_export "IFACE_DSLITE=$iface_dslite"
-	[ "$sourcerouting" = "1" ] && proto_export "SOURCE_ROUTING=1"
+	[ "$sourcerouting" != "0" ] && proto_export "SOURCE_ROUTING=1"
 
 	proto_export "INTERFACE=$config"
 	proto_run_command "$config" odhcp6c \