diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c
index fdc29aaa72d3f081904153443c372edf0d5bd2b5..1f79c8fe007ff9882287728eb734e933b0f9be1c 100644
--- a/src/backend/libpq/hba.c
+++ b/src/backend/libpq/hba.c
@@ -492,6 +492,8 @@ check_role(const char *role, Oid roleid, char *param_str)
 				return true;
 		}
 		else if (strcmp(tok, role) == 0 ||
+				 (strcmp(tok, "replication\n") == 0 && 
+				  strcmp(role,"replication") ==0) ||
 				 strcmp(tok, "all\n") == 0)
 			return true;
 	}