diff --git a/third_party/proctitle.c b/third_party/proctitle.c
index 233a55d2e4d61a9377e0d996e6116980878e16eb..92eca759c18e194448481049a1b38fa0f4e0406d 100644
--- a/third_party/proctitle.c
+++ b/third_party/proctitle.c
@@ -256,10 +256,12 @@ free_proc_title(int argc, char **argv)
 		free(environ[i]);
 	free(environ);
 	environ = save_environ;
-#endif
+#endif /* PS_USE_CLOBBER_ARGV */
+#if defined(PS_USE_CHANGE_ARGV) || defined(PS_USE_CLOBBER_ARGV)
 	for (i = 0; i < argc; i++)
 		free(argv[i]);
 	free(argv);
+#endif /* PS_USE_CHANGE_ARGV or PS_USE_CLOBBER_ARGV */
 }
 
 void