diff --git a/lib/refrepo/gen/puppet/templates/kavlan-dhcp.conf.erb b/lib/refrepo/gen/puppet/templates/kavlan-dhcp.conf.erb
index 9d7e8e1509a792afd6265d198d1f5a2f8d87809b..300228050ad6aec571c7d0623bb8b312d71b0b3f 100644
--- a/lib/refrepo/gen/puppet/templates/kavlan-dhcp.conf.erb
+++ b/lib/refrepo/gen/puppet/templates/kavlan-dhcp.conf.erb
@@ -62,13 +62,13 @@ subnet <%= kavlan_ip.network %> netmask <%= kavlan_ip.netmask %> {
      case kavlan_id
      when 1..3 # local non routed vlan
        kavlan6_net = kavlan_id + 0x80 - 1
+       kavlan6_ip = "#{refapi['sites'][site_uid]['ipv6']['prefix']}#{sprintf('%02x', kavlan6_net)}::/64"
      when 4..9 # local routed vlan
        kavlan6_net = kavlan_id + 0x90 - 4
+       kavlan6_ip = "#{refapi['sites'][site_uid]['ipv6']['prefix']}#{sprintf('%02x', kavlan6_net)}::/64"
      else      # global vlan
-       kavlan6_net = kavlan_id + 0xa0 - 10
-     end
-     refapi['sites'][site_uid]
-     kavlan6_ip = "#{refapi['sites'][site_uid]['ipv6']['prefix']}#{sprintf('%02x', kavlan6_net)}::/64" -%>
+       kavlan6_ip = "#{refapi['sites'][site_uid]['ipv6']['prefix']}a0::/59"
+     end -%>
 subnet6 <%= kavlan6_ip %> {
 <% end -%>
     default-lease-time 86400;