diff --git a/cdist/conf/type/__process/gencode-remote b/cdist/conf/type/__process/gencode-remote
index fdb6033a..f178f706 100755
--- a/cdist/conf/type/__process/gencode-remote
+++ b/cdist/conf/type/__process/gencode-remote
@@ -25,7 +25,12 @@ else
     name="$__object_id"
 fi
 
-state_should="$(cat "$__object/parameter/state")"
+parameter_state="$__object/parameter/state"
+if [ -f "$_parameter_state" ]; then
+    state_should=(cat "$__object/parameter/state")
+else
+    state_should="present"
+fi
 
 runs="$(cat "$__object/explorer/runs")"
 if [ "$runs" ]; then
diff --git a/cdist/conf/type/__process/man.text b/cdist/conf/type/__process/man.text
index 0d457ead..2fdd27aa 100644
--- a/cdist/conf/type/__process/man.text
+++ b/cdist/conf/type/__process/man.text
@@ -13,14 +13,11 @@ DESCRIPTION
 This cdist type allows you to define the state of a process.
 
 
-REQUIRED PARAMETERS
+OPTIONAL PARAMETERS
 -------------------
 state::
     Either "present" or "absent", defaults to "present"
 
-
-OPTIONAL PARAMETERS
--------------------
 name::
     Process name to match on when using pgrep -f -x.
 
diff --git a/cdist/conf/type/__process/parameter/optional b/cdist/conf/type/__process/parameter/optional
index 3411afb4..85fe8805 100644
--- a/cdist/conf/type/__process/parameter/optional
+++ b/cdist/conf/type/__process/parameter/optional
@@ -1,3 +1,4 @@
 name
 stop
 start
+state
diff --git a/cdist/conf/type/__process/parameter/required b/cdist/conf/type/__process/parameter/required
deleted file mode 100644
index ff72b5c7..00000000
--- a/cdist/conf/type/__process/parameter/required
+++ /dev/null
@@ -1 +0,0 @@
-state