diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c
index 25831ce..b2b4795 100644
--- a/src/openvpn/tun.c
+++ b/src/openvpn/tun.c
@@ -1561,15 +1561,16 @@ do_ifconfig(struct tuntap *tt,
             }
             else
             {
-                /* example: netsh interface ipv6 set address interface=42 2001:608:8003::d store=active */
+                /* example: netsh interface ipv6 set address interface=42 2001:608:8003::d/64 store=active */
                 char iface[64];
                 openvpn_snprintf(iface, sizeof(iface), "interface=%lu", tt->adapter_index );
                 argv_printf(&argv,
-                            "%s%sc interface ipv6 set address %s %s store=active",
+                            "%s%sc interface ipv6 set address %s %s/%d store=active",
                             get_win_sys_path(),
                             NETSH_PATH_SUFFIX,
                             iface,
-                            ifconfig_ipv6_local );
+                            ifconfig_ipv6_local,
+                            tt->netbits_ipv6);
                 netsh_command(&argv, 4, M_FATAL);
                 /* set ipv6 dns servers if any are specified */
                 netsh_set_dns6_servers(tt->options.dns6, tt->options.dns6_len, actual);
