diff --git a/netbox/dcim/tables/template_code.py b/netbox/dcim/tables/template_code.py
index bfc086b45..837ab2e3d 100644
--- a/netbox/dcim/tables/template_code.py
+++ b/netbox/dcim/tables/template_code.py
@@ -113,28 +113,28 @@ CONSOLEPORT_BUTTONS = """
{% endif %}
{% if record.cable %}
+
{% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
- {% if perms.dcim.delete_cable %}
+ {% if perms.dcim.change_cable or perms.dcim.delete_cable %}
{% endif %}
@@ -162,28 +162,28 @@ CONSOLESERVERPORT_BUTTONS = """
{% endif %}
{% if record.cable %}
+
{% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
- {% if perms.dcim.delete_cable %}
+ {% if perms.dcim.change_cable or perms.dcim.delete_cable %}
{% endif %}
@@ -211,28 +211,28 @@ POWERPORT_BUTTONS = """
{% endif %}
{% if record.cable %}
+
{% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
- {% if perms.dcim.delete_cable %}
+ {% if perms.dcim.change_cable or perms.dcim.delete_cable %}
{% endif %}
@@ -259,28 +259,28 @@ POWEROUTLET_BUTTONS = """
{% endif %}
{% if record.cable %}
+
{% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
- {% if perms.dcim.delete_cable %}
+ {% if perms.dcim.change_cable or perms.dcim.delete_cable %}
{% endif %}
@@ -321,31 +321,31 @@ INTERFACE_BUTTONS = """
{% endif %}
+{% if record.link %}
+
+{% endif %}
{% if record.cable %}
{% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
- {% if perms.dcim.delete_cable %}
+ {% if perms.dcim.change_cable or perms.dcim.delete_cable %}
{% endif %}
@@ -386,28 +386,28 @@ FRONTPORT_BUTTONS = """
{% endif %}
{% if record.cable %}
+
{% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
- {% if perms.dcim.delete_cable %}
+ {% if perms.dcim.change_cable or perms.dcim.delete_cable %}
{% endif %}
@@ -440,28 +440,28 @@ REARPORT_BUTTONS = """
{% endif %}
{% if record.cable %}
+
{% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
- {% if perms.dcim.delete_cable %}
+ {% if perms.dcim.change_cable or perms.dcim.delete_cable %}
{% endif %}
diff --git a/netbox/templates/circuits/inc/circuit_termination.html b/netbox/templates/circuits/inc/circuit_termination.html
index 5f6826282..12c63bd34 100644
--- a/netbox/templates/circuits/inc/circuit_termination.html
+++ b/netbox/templates/circuits/inc/circuit_termination.html
@@ -57,10 +57,12 @@
Trace
- {% if perms.dcim.delete_cable %}
+ {% if perms.dcim.change_cable %}
Edit
+ {% endif %}
+ {% if perms.dcim.delete_cable %}
Disconnect