diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile
index e50659992d21dd3abd85b81512439bf0ef5b10f1..b7a1513da1ff19de14cf648e6a055c23bebb9dee 100644
--- a/package/network/ipv6/odhcp6c/Makefile
+++ b/package/network/ipv6/odhcp6c/Makefile
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=odhcp6c
-PKG_VERSION:=2014-02-02
+PKG_VERSION:=2014-01-31
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_URL:=git://github.com/sbyx/odhcp6c.git
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=9817e4983c7d4e28f53b78d4fc6ea1eabed8affe
+PKG_SOURCE_VERSION:=b4a0f3d74b04074eae21e88fbf5b8f2ddc150f86
 PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
 
 include $(INCLUDE_DIR)/package.mk
diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.script b/package/network/ipv6/odhcp6c/files/dhcpv6.script
index 5a3b7ecba60773e7fa08ea2b97c3920d92521b93..929ab4eed2e6ad6189ec9a90e5feb0f18d516c54 100755
--- a/package/network/ipv6/odhcp6c/files/dhcpv6.script
+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.script
@@ -50,7 +50,7 @@ setup_interface () {
 		entry="${entry#*,}"
 		local valid="${entry%%,*}"
 
-		proto_add_ipv6_address "$addr" "$mask" "$preferred" "$valid"
+		proto_add_ipv6_address "$addr" "$mask" "$preferred" "$valid" 1
 	done
 
 	for entry in $RA_ROUTES; do
@@ -65,7 +65,8 @@ setup_interface () {
 		local metric="${entry%%,*}"
 
 		if [ -z "$SOURCE_ROUTING" -o -z "$gw" ]; then
-			proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid"
+			proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "::/128"
+			proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "$addr/$mask"
 		else
 			proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "::/128"
 			for prefix in $PREFIXES $ADDRESSES; do