diff --git a/apply.sh b/apply.sh
new file mode 100755
index 0000000000000000000000000000000000000000..f2812024ef7180341a41e2dcaea56f25af35fe7d
--- /dev/null
+++ b/apply.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+modulepath="$(pwd)/.."
+
+set -x
+
+puppet parser validate --strict_variables --modulepath="$modulepath" manifests/
+
+for file in $*
+do
+    class=$(basename $file .pp)
+    # Sudo is needed for modules that do something with yum for example.
+    sudo /opt/puppetlabs/bin/puppet apply --test --modulepath="$modulepath" -e "include aes::$class"
+done
diff --git a/validate.sh b/validate.sh
index deee0a939b2673d89da70da174289c27fe0f171c..63c0eeda4afa2894f74119fbe2efe621f539c189 100755
--- a/validate.sh
+++ b/validate.sh
@@ -9,5 +9,6 @@ puppet parser validate --strict_variables --modulepath="$modulepath" manifests/
 for file in $*
 do
     class=$(basename $file .pp)
-    puppet apply --noop --test --modulepath="$modulepath" -e "include aes::$class"
+    # Sudo is needed for modules that do something with yum for example.
+    sudo /opt/puppetlabs/bin/puppet apply --noop --test --modulepath="$modulepath" -e "include aes::$class"
 done