diff --git a/manifests/init.pp b/manifests/init.pp
index e6b71ea111a8fee628439a1acca9fa64e3711c2b..5d9d046ecf0c089ba793987e9c219192026a8169 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -32,12 +32,14 @@
  *  - optoptions
  *    Hash of options to set in dsm.opt.  Option names must be specified
  *    in lowercase.  This is merged with the default_optoptions parameter
- *    of the tsmclient::config class.
+ *    of the tsmclient::config class.  Setting an option to false will
+ *    cause it to be omitted from dsm.opt.
  *
  *  - sysoptions
  *    Hash of options to set in dsm.sys.  Option names must be specified
  *    in lowercase.  This is merged with the default_sysoptions parameter
- *    of the tsmclient::config class.
+ *    of the tsmclient::config class.  Setting an option to false will
+ *    cause it to be omitted from dsm.sys.
 
  *    Some options are forbidden to set this way, as this define expects
  *    them to have certain values.
diff --git a/templates/dsm.opt.erb b/templates/dsm.opt.erb
index 23d4a227781441061519a5f4b6d5492e68372003..a003e436b9ec1f28b24c95febd26be5646e47dff 100644
--- a/templates/dsm.opt.erb
+++ b/templates/dsm.opt.erb
@@ -29,6 +29,8 @@ options.merge!(mandatory)
 
 -%>
 SERVERNAME <%= @tsm_servername.upcase %>
-<% options.keys.sort.each do |optname| -%>
-    <%= sprintf("%-24s    %s", optname.to_s, options[optname]).strip %>
+<% options.sort.each do |optname,optvalue| -%>
+<%   if optvalue -%>
+    <%= sprintf("%-24s    %s", optname.to_s, optvalue).strip %>
+<%   end -%>
 <% end %>
diff --git a/templates/dsm.sys.erb b/templates/dsm.sys.erb
index 5d39d6f9ec060dd3adafc94bba161666dcd39a5f..183dd6e44fdeab255eaae2f7598cb183d84e834f 100644
--- a/templates/dsm.sys.erb
+++ b/templates/dsm.sys.erb
@@ -35,6 +35,8 @@ options.merge!(mandatory)
 -%>
 SERVERNAME <%= @tsm_servername.upcase %>
     NODENAME <%= @tsm_nodename %>
-<% options.keys.sort.each do |optname| -%>
-    <%= sprintf("%-24s    %s", optname.to_s, options[optname]).strip %>
+<% options.sort.each do |optname,optvalue| -%>
+<%   if optvalue -%>
+    <%= sprintf("%-24s    %s", optname.to_s, optvalue).strip %>
+<%   end -%>
 <% end %>