diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
new file mode 100644
index a1bb230..4f73d70
*** a/src/bin/psql/tab-complete.c
--- b/src/bin/psql/tab-complete.c
*************** psql_completion(char *text, int start, i
*** 1645,1658 ****
  /* CLUSTER */
  
  	/*
! 	 * If the previous word is CLUSTER and not without produce list of tables
  	 */
  	else if (pg_strcasecmp(prev_wd, "CLUSTER") == 0 &&
  			 pg_strcasecmp(prev2_wd, "WITHOUT") != 0)
  		COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
  	/* If we have CLUSTER <sth>, then add "USING" */
  	else if (pg_strcasecmp(prev2_wd, "CLUSTER") == 0 &&
! 			 pg_strcasecmp(prev_wd, "ON") != 0)
  	{
  		COMPLETE_WITH_CONST("USING");
  	}
--- 1645,1673 ----
  /* CLUSTER */
  
  	/*
! 	 * If the previous word is CLUSTER and not WITHOUT produce list of tables
  	 */
  	else if (pg_strcasecmp(prev_wd, "CLUSTER") == 0 &&
  			 pg_strcasecmp(prev2_wd, "WITHOUT") != 0)
  		COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
+ 
+ 	/*
+ 	 * If the previous words are CLUSTER VERBOSE produce list of tables
+ 	 */
+ 	else if (pg_strcasecmp(prev_wd, "VERBOSE") == 0 &&
+ 			 pg_strcasecmp(prev2_wd, "CLUSTER") == 0)
+ 		COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
+ 
  	/* If we have CLUSTER <sth>, then add "USING" */
  	else if (pg_strcasecmp(prev2_wd, "CLUSTER") == 0 &&
! 			 pg_strcasecmp(prev_wd, "ON") != 0 &&
! 			 pg_strcasecmp(prev_wd, "VERBOSE") != 0)
! 	{
! 		COMPLETE_WITH_CONST("USING");
! 	}
! 	/* If we have CLUSTER VERBOSE <sth>, then add "USING" */
! 	else if (pg_strcasecmp(prev3_wd, "CLUSTER") == 0 &&
! 			 pg_strcasecmp(prev2_wd, "VERBOSE") == 0)
  	{
  		COMPLETE_WITH_CONST("USING");
  	}
*************** psql_completion(char *text, int start, i
*** 1667,1672 ****
--- 1682,1698 ----
  		COMPLETE_WITH_QUERY(Query_for_index_of_table);
  	}
  
+ 	/*
+ 	 * If we have CLUSTER VERBOSE <sth> USING, then add the index as well.
+ 	 */
+ 	else if (pg_strcasecmp(prev4_wd, "CLUSTER") == 0 &&
+              pg_strcasecmp(prev3_wd, "VERBOSE") == 0 &&
+ 			 pg_strcasecmp(prev_wd, "USING") == 0)
+ 	{
+ 		completion_info_charp = prev2_wd;
+ 		COMPLETE_WITH_QUERY(Query_for_index_of_table);
+ 	}
+ 
  /* COMMENT */
  	else if (pg_strcasecmp(prev_wd, "COMMENT") == 0)
  		COMPLETE_WITH_CONST("ON");
