diff --git a/bin/cdist-exec-run b/bin/cdist-exec-run
index d1ba128d..598b3c5d 100755
--- a/bin/cdist-exec-run
+++ b/bin/cdist-exec-run
@@ -18,21 +18,16 @@
# along with cdist. If not, see .
#
#
-# Transfer executables
+# Exec executables on the remote side
#
. cdist-config
-
-[ $# -eq 2 ] || __cdist_usage " "
+[ $# -eq 1 ] || __cdist_usage ""
set -e
export __cdist_target_host="$1"; shift
-export __cdist_exec_dir="$1"; shift
-# re-create basedir so it's clean
-ssh "root@${__cdist_target_host}" "rm -rf \"${__cdist_remote_cache_exec}\" && mkdir -p \"${__cdist_remote_cache_exec}\""
-
-# FIXME: enable -q as soon as the code is cleaned up
-scp -r "${__cdist_exec_dir}"/* \
- "root@${__cdist_target_host}:${__cdist_remote_cache_exec}"
+# Run executables - no order, no dependencies yet
+ssh "root@${__cdist_target_host}" \
+ "find \"${__cdist_remote_cache_exec}\" -type f -name \"${__cdist_name_exec}\" -exec {} \\;"
diff --git a/bin/cdist-manifest-run b/bin/cdist-manifest-run
index 6789b9ec..98385ca8 100755
--- a/bin/cdist-manifest-run
+++ b/bin/cdist-manifest-run
@@ -47,10 +47,10 @@ fi
mkdir -p "${__cdist_output_dir}"
+# Catch errors ourselves now
set +e
"${__cdist_manifest}"; ret=$?
-
if [ "$ret" -ne 0 ]; then
__cdist_exit_err "Error: ${__cdist_manifest} exited non-zero."
fi