diff --git a/cdist/conf/type/__git/gencode-remote b/cdist/conf/type/__git/gencode-remote
index 3ba21add..4de0f1c6 100755
--- a/cdist/conf/type/__git/gencode-remote
+++ b/cdist/conf/type/__git/gencode-remote
@@ -35,6 +35,8 @@ owner=$(cat "$__object/parameter/owner")
 group=$(cat "$__object/parameter/group")
 mode=$(cat "$__object/parameter/mode")
 
+[ -f "$__object/parameter/recursive" ] && recursive='--recursive' || recursive=''
+
 [ "$state_should" = "$state_is" ] \
  && [ "$owner" = "$owner_is" ] \
  && [ "$group" = "$group_is" ] \
@@ -43,7 +45,7 @@ mode=$(cat "$__object/parameter/mode")
 case $state_should in
     present)
         if [ "$state_should" != "$state_is" ]; then
-            echo git clone --quiet $([ -f "$__object/parameter/recursive" ] && echo '--recursive') --branch "$branch" "$source" "$destination"
+            echo git clone --quiet "$recursive" --branch "$branch" "$source" "$destination"
         fi
         if { [ -n "$owner" ] && [ "$owner_is" != "$owner" ]; } || \
            { [ -n "$group" ] && [ "$group_is" != "$group" ]; }; then