diff --git a/shell/defaults/main.yml b/shell/defaults/main.yml
index bf965feceef147f842faaf59929487e0df01958f..db335120821b9c4fe5ee9a4eb8943f12f5dd2b57 100644
--- a/shell/defaults/main.yml
+++ b/shell/defaults/main.yml
@@ -2,7 +2,6 @@
 
 shell_software:
   - bash-completion
-  - emacs-nox
   - lftp
   - mercurial
   - pwgen
diff --git a/shell/tasks/shell.yml b/shell/tasks/shell.yml
index a0f791104088b4bb106b99650c2ef2c9375df25b..12ebbb150c749859de06da5cbca11c79ae75aa90 100644
--- a/shell/tasks/shell.yml
+++ b/shell/tasks/shell.yml
@@ -49,6 +49,15 @@
     - packages
     - shell
 
+- name: check installed software
+  package_facts:
+    manager: auto
+
+- name: install emacs-nox iff emacs-gtk is not installed
+  apt:
+    name: emacs-nox
+  when: "'emacs-gtk' not in ansible_facts.packages"
+
 - name: ensure installation of variable additional software
   apt:
     name: "{{ shell_software }}"