diff --git a/manifests/voms.pp b/manifests/voms.pp
index 7c216a27731490c63ae72c67bce0cf4477e88e8f..bab4d6bc44b9452fff3cc6e938bbc9b194247a69 100644
--- a/manifests/voms.pp
+++ b/manifests/voms.pp
@@ -11,22 +11,17 @@
 
 class arc::voms
 {
-    package {
-	# Install the basic voms package
-        'voms':
-            ensure => installed;
-
-        # Set up the WLCG repo
-        'wlcg-repo':
-            ensure => installed,
-            require => Package['voms'],
-            tag => 'pkgrepo';
+    # Install required repo.
+    include stages
+    class { 'arc::voms::repoinstall':
+        stage => 'repoinstall',
+    }
 
-	# Install voms files
-        [ 'wlcg-voms-ops', 'wlcg-voms-atlas', 'wlcg-voms-dteam',
-	  'wlcg-iam-lsc-alice', 'wlcg-iam-lsc-atlas' ]:
-            ensure => installed,
-            require => Package['wlcg-repo'];
+    # Install voms files.
+    package { [ 'wlcg-voms-ops', 'wlcg-voms-atlas',
+                'wlcg-voms-alice', 'wlcg-voms-dteam',
+                'wlcg-iam-lsc-alice', 'wlcg-iam-lsc-atlas' ]:
+        ensure => installed,
     }
 
     # Some VO:s doesn't have nice packages. Create those manually.
@@ -34,15 +29,13 @@ class arc::voms
         # vo.hess-experiment.eu
         '/etc/grid-security/vomsdir/vo.hess-experiment.eu':
 	    ensure => directory,
-	    owner => 'root', group => 'root', mode => '0555',
-	    require => Package['voms'];
+	    owner => 'root', group => 'root', mode => '0555';
         '/etc/grid-security/vomsdir/vo.hess-experiment.eu/grid12.lal.in2p3.fr.lsc':
 	    source => 'puppet:///modules/arc/grid12.lal.in2p3.fr.lsc',
 	    owner => 'root', group => 'root', mode => '0444',
 	    require => File['/etc/grid-security/vomsdir/vo.hess-experiment.eu'];
         '/etc/vomses/vo.hess-experiment.eu':
 	    source => 'puppet:///modules/arc/vo.hess-experiment.eu',
-	    owner => 'root', group => 'root', mode => '0444',
-	    require => Package['voms'];
+	    owner => 'root', group => 'root', mode => '0444';
     }
 }
diff --git a/manifests/voms/repoinstall.pp b/manifests/voms/repoinstall.pp
new file mode 100644
index 0000000000000000000000000000000000000000..70128c7e6cc8295f0c03171bbec0850e3df4dea3
--- /dev/null
+++ b/manifests/voms/repoinstall.pp
@@ -0,0 +1,9 @@
+class arc::voms::repoinstall
+{
+    package { 'voms': ensure => installed, }
+
+    package { 'wlcg-repo':
+        ensure  => installed,
+        require => Package['voms'],
+    }
+}