diff --git a/resources/templates/provision/fanvil/x4/{$mac}.cfg b/resources/templates/provision/fanvil/x4/{$mac}.cfg
index 465ce9551d..de44b2cdb8 100644
--- a/resources/templates/provision/fanvil/x4/{$mac}.cfg
+++ b/resources/templates/provision/fanvil/x4/{$mac}.cfg
@@ -1209,7 +1209,7 @@
{foreach $keys["line"] as $row}
-{if $row.device_key_id <= 6}
+{if $row.device_key_id <= 30}
Fkey{$row.device_key_id}
@@ -1224,28 +1224,51 @@
{foreach $keys["memory"] as $row}
-{if $row.device_key_id <= 6}
+{if $row.device_key_id <= 30}
Fkey{$row.device_key_id}
{if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
{if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
{$row.device_key_label}
-
{/if}
{/foreach}
-
-
-
-
+
+
+{foreach $keys["programmable"] as $row}
+{if $row.device_key_id <= 12}
+
+
+SoftFkey{$row.device_key_id}
+{if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+{if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+{$row.device_key_label}
+
+
+{/if}
+{/foreach}
+{foreach $keys["expansion"] as $row}
+{if $row.device_key_id <= 12}
+
+
+SoftFkey{$row.device_key_id}
+{if $row.device_key_type == 3}0{elseif $row.device_key_type == 1}2{else}1{/if}
+{if $row.device_key_type == 3}{elseif $row.device_key_type == 1}SIP{$row.device_key_line}{else}{$row.device_key_value}@{$row.device_key_line}/{$row.device_key_type}{/if}
+{$row.device_key_label}
+
+
+{/if}
+{/foreach}
+
+