diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 287793c0..35a62d2b 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -44,6 +44,9 @@
jsvc. Fix a regression in 1.5.1 that exposed long standing bugs around the locking and unlocking of pid files. Also fix the locking/unlocking bugs.
+
+ jsvc. Use FreeBSD's setproctitle(3) to pass -procname similar to daemon(8).
+
Bump org.apache.commons:commons-parent from 93 to 96.
diff --git a/src/native/unix/native/jsvc-unix.c b/src/native/unix/native/jsvc-unix.c
index b362e8f7..5d31797c 100644
--- a/src/native/unix/native/jsvc-unix.c
+++ b/src/native/unix/native/jsvc-unix.c
@@ -1374,6 +1374,11 @@ static int run_controller(arg_data *args, home_data *data, uid_t uid, gid_t gid)
to the child, and wait for it to die */
controlled = pid;
+#ifdef OS_FREEBSD
+ /* Rename controller process to include JVM child PID */
+ setproctitle("%s[%d]", args->procname, pid);
+#endif
+
#ifdef OS_CYGWIN
SetTerm(cygwincontroller);
#endif
diff --git a/src/site/xdoc/jsvc.xml b/src/site/xdoc/jsvc.xml
index 95a60fb2..15492cb0 100644
--- a/src/site/xdoc/jsvc.xml
+++ b/src/site/xdoc/jsvc.xml
@@ -178,7 +178,7 @@ Where options include:
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-procname <procname>
- use the specified process name (works only for Linux)
+ use the specified process name (works only for Linux and FreeBSD)
-wait <waittime>
wait waittime seconds for the service to start
waittime should multiple of 10 (min=10)