diff --git a/shell/defaults/main.yml b/shell/defaults/main.yml
index e87b9b26686dabcab9ab22f7bb9c1189a3bd70a9..bf965feceef147f842faaf59929487e0df01958f 100644
--- a/shell/defaults/main.yml
+++ b/shell/defaults/main.yml
@@ -8,3 +8,5 @@ shell_software:
   - pwgen
   - snmp
   - telnet
+
+shell_blacklist_pcspkr: true
diff --git a/shell/tasks/shell.yml b/shell/tasks/shell.yml
index 148fb92d9c3451a199261dfda7239187929f36cc..a0f791104088b4bb106b99650c2ef2c9375df25b 100644
--- a/shell/tasks/shell.yml
+++ b/shell/tasks/shell.yml
@@ -129,7 +129,7 @@
 - name: ensure that pcspeaker remains silent
   kernel_blacklist:
     name: pcspkr
-    state: present
+    state: "{{ 'present' if shell_blacklist_pcspkr else 'absent' }}"
   notify:
     - rerun depmod
     - update initramfs