diff --git a/netbox/dcim/tables/template_code.py b/netbox/dcim/tables/template_code.py
index c575cf884..89d04c35d 100644
--- a/netbox/dcim/tables/template_code.py
+++ b/netbox/dcim/tables/template_code.py
@@ -112,6 +112,11 @@ MODULAR_COMPONENT_TEMPLATE_BUTTONS = """
 #
 
 CONSOLEPORT_BUTTONS = """
+{% if perms.dcim.add_inventoryitem %}
+  
+    
+  
+{% endif %}
 {% if record.cable %}
     
     {% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
@@ -139,6 +144,11 @@ CONSOLEPORT_BUTTONS = """
 """
 
 CONSOLESERVERPORT_BUTTONS = """
+{% if perms.dcim.add_inventoryitem %}
+  
+    
+  
+{% endif %}
 {% if record.cable %}
     
     {% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
@@ -166,6 +176,11 @@ CONSOLESERVERPORT_BUTTONS = """
 """
 
 POWERPORT_BUTTONS = """
+{% if perms.dcim.add_inventoryitem %}
+  
+    
+  
+{% endif %}
 {% if record.cable %}
     
     {% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
@@ -192,6 +207,11 @@ POWERPORT_BUTTONS = """
 """
 
 POWEROUTLET_BUTTONS = """
+{% if perms.dcim.add_inventoryitem %}
+  
+    
+  
+{% endif %}
 {% if record.cable %}
     
     {% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
@@ -214,10 +234,20 @@ POWEROUTLET_BUTTONS = """
 """
 
 INTERFACE_BUTTONS = """
-{% if perms.ipam.add_ipaddress %}
-    
-        
-    
+{% if perms.ipam.add_ipaddress or perms.dcim.add_inventoryitem %}
+  
+    
+    
+  
 {% endif %}
 {% if record.link %}
     
@@ -240,7 +270,7 @@ INTERFACE_BUTTONS = """
     
     {% if not record.mark_connected %}
     
-