diff --git a/manifests/init.pp b/manifests/init.pp
index 22619c1a6de61a374b8f24aae0d5ae0a58bbb96e..1998ae9288d14239414aa488bc7fc3da1e61eabf 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -193,10 +193,6 @@ define tsmclient($serveraddress, $nodename=$fqdn,
     }
 
     file {
-	$tsmpassworddir:
-	    ensure => directory,
-	    owner => 'root', group => 'root', mode => 0755,
-	    require => Package['TIVsm-BA'];
 	"${tsmdir}/bin/dsm.opt":
 	    ensure => file,
 	    content => template('tsmclient/dsm.opt.erb'),
@@ -213,23 +209,6 @@ define tsmclient($serveraddress, $nodename=$fqdn,
 	    owner => 'root', group => 'root', mode => 0444,
 	    require => Package['TIVsm-BA'], notify => Service['dsmcad'];
     }
-
-    $pw_save_file = $tsmclient::siteconfig::password_save_location
-    if $pw_save_file {
-	$pw_vsave_file = inline_template(
-	    '<%= File.basename(pw_save_file) + ".%Y%m%d-%H%M%S" -%>')
-
-	store_versioned_data($tsm_password, $pw_save_file, $pw_vsave_file)
-    }
-    if $tsmclient::siteconfig::password_source {
-	file {
-	    "${tsmpassworddir}/TSM.PWD":
-		ensure => file, links => follow, replace => false,
-		source => $tsmclient::siteconfig::password_source,
-		owner => 'root', group => 'root', mode => 0600,
-		notify => Service['dsmcad'];
-	}
-    }
 }
 
 
@@ -320,12 +299,22 @@ class tsmclient::vars
  */
 class tsmclient::install
 {
+    include tsmclient::vars
+    include tsmclient::siteconfig
+
+    $tsmpassworddir = $tsmclient::vars::tsmpassworddir
+
     package {
 	[ 'TIVsm-BA', 'TIVsm-API64' ]:
 	    ensure => installed;
     }
 
     file {
+	$tsmpassworddir:
+	    ensure => directory,
+	    owner => 'root', group => 'root', mode => 0755,
+	    require => Package['TIVsm-BA'];
+
 	'/etc/init.d/dsmcad':
 	    ensure => file,
 	    owner => 'root', group => 'root', mode => 0555,
@@ -344,6 +333,25 @@ class tsmclient::install
 	    require => Package['TIVsm-BA'], notify => Service['dsmcad'];
 
     }
+
+    # Manage password file
+    $pw_save_file = $tsmclient::siteconfig::password_save_location
+    if $pw_save_file {
+	$pw_vsave_file = inline_template(
+	    '<%= File.basename(pw_save_file) + ".%Y%m%d-%H%M%S" -%>')
+
+	store_versioned_data($tsm_password, $pw_save_file, $pw_vsave_file)
+    }
+    if $tsmclient::siteconfig::password_source {
+	file {
+	    "${tsmpassworddir}/TSM.PWD":
+		ensure => file, links => follow, replace => false,
+		source => $tsmclient::siteconfig::password_source,
+		owner => 'root', group => 'root', mode => 0600,
+		notify => Service['dsmcad'];
+	}
+    }
+
     service {
 	'dsmcad':
 	    enable => true, ensure => $running,