diff --git a/manifests/init.pp b/manifests/init.pp
index bd8497e39668b07ab615555075f5f287187ec9d6..d8e2d48926b9ba358f6024663944f9483a116e4d 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -42,8 +42,11 @@ import "nsc-puppet-utils"
  * names), in which case dsm.sys and dsm.opt will contain all the
  * declared servers with their respective configurations.  Unconfiguring
  * a server is done by just not declaring it in the manifests anymore.
- * There is however no way of declaring which of the servers should be
- * the default server.
+ *
+ * The server entries in dsm.opt and dsm.sys are ordered lexically based
+ * on the tsmclient resource titles.  This can be exploited to select
+ * the default server (the last one wins), by explicitly setting the
+ * name parameter.
  *
  * The caller must provide a class named 'tsmclient::siteconfig'
  * for configuration, defining the following class variables:
@@ -204,9 +207,9 @@ define tsmclient($serveraddress, $nodename=$fqdn,
 	    require => Package['TIVsm-BA'], notify => Service['dsmcad'];
     }
     concat_part {
-	"${tsmdir}/bin/dsm.opt/${tsm_servername}":
+	"${tsmdir}/bin/dsm.opt/${title}":
 	    content => template('tsmclient/dsm.opt.erb');
-	"${tsmdir}/bin/dsm.sys/${tsm_servername}":
+	"${tsmdir}/bin/dsm.sys/${title}":
 	    content => template('tsmclient/dsm.sys.erb');
      }
 }