diff --git a/package/network/config/gre/Makefile b/package/network/config/gre/Makefile
index 4511620941163739875a792ac272a92bfe51dc01..a6b4cac559b35fd5bc80560fb8db326cc9f874b3 100644
--- a/package/network/config/gre/Makefile
+++ b/package/network/config/gre/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gre
 PKG_VERSION:=1
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 PKG_LICENSE:=GPL-2.0
 
 include $(INCLUDE_DIR)/package.mk
diff --git a/package/network/config/gre/files/gre.sh b/package/network/config/gre/files/gre.sh
index 3f472c447388998b9fdff8eb5ac5281c20cef7e8..58db1d1381eb63347a2b229135bf7dfc34cbc7c0 100755
--- a/package/network/config/gre/files/gre.sh
+++ b/package/network/config/gre/files/gre.sh
@@ -25,7 +25,7 @@ gre_generic_setup() {
 	json_add_string mode "$mode"
 	json_add_int mtu "${mtu:-1280}"
 	[ -n "$df" ] && json_add_boolean df "$df"
-	json_add_int ttl "${ttl:-64}"
+	[ -n "ttl" ] && json_add_int ttl "$ttl"
 	[ -n "$tos" ] && json_add_string tos "$tos"
 	json_add_boolean multicast "$multicast"
 	json_add_string local "$local"