diff --git a/src/fe_utils/recovery_gen.c b/src/fe_utils/recovery_gen.c
new file mode 100644
index 6641f95..7d545fa
*** a/src/fe_utils/recovery_gen.c
--- b/src/fe_utils/recovery_gen.c
*************** GenerateRecoveryConfig(PGconn *pgconn, c
*** 58,63 ****
--- 58,64 ----
  		if (strcmp(opt->keyword, "replication") == 0 ||
  			strcmp(opt->keyword, "dbname") == 0 ||
  			strcmp(opt->keyword, "fallback_application_name") == 0 ||
+ 			(strcmp(opt->keyword, "gssencmode") == 0 && PQserverVersion(pgconn) < MINIMUM_VERSION_FOR_GSSENCMODE) ||
  			(opt->val == NULL) ||
  			(opt->val != NULL && opt->val[0] == '\0'))
  			continue;
diff --git a/src/include/fe_utils/recovery_gen.h b/src/include/fe_utils/recovery_gen.h
new file mode 100644
index 8b15307..0a47d83
*** a/src/include/fe_utils/recovery_gen.h
--- b/src/include/fe_utils/recovery_gen.h
***************
*** 20,25 ****
--- 20,30 ----
   */
  #define MINIMUM_VERSION_FOR_RECOVERY_GUC 120000
  
+ /*
+  * GSSENCMODE is only in version 12 and up
+  */
+ #define MINIMUM_VERSION_FOR_GSSENCMODE 120000
+ 
  extern PQExpBuffer GenerateRecoveryConfig(PGconn *pgconn,
  										  char *pg_replication_slot);
  extern void WriteRecoveryConfig(PGconn *pgconn, char *target_dir,
