diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index d449cea66c..e8c1fd64bc 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -781,8 +781,6 @@ exec_command_d(PsqlScanState scan_state, bool active_branch, const char *cmd)
 			case 'f':			/* function subsystem */
 				switch (cmd[2])
 				{
-						char	   *funcargs;
-
 					case '\0':
 					case '+':
 					case 'S':
@@ -791,10 +789,14 @@ exec_command_d(PsqlScanState scan_state, bool active_branch, const char *cmd)
 					case 'p':
 					case 't':
 					case 'w':
+					{
+						char	   *funcargs;
+
 						funcargs = psql_scan_slash_option(scan_state, OT_WHOLE_LINE, NULL, true);
 						success = describeFunctions(&cmd[2], pattern, show_verbose, show_system, funcargs);
 						free(funcargs);
 						break;
+					}
 					default:
 						status = PSQL_CMD_UNKNOWN;
 						break;
