diff --git a/configs/res_fax.conf.sample b/configs/res_fax.conf.sample
index 19933e39d196b7a63b53f286059abeba37c12907..47ea35e04453578577f4a4e3b0094cf7cb5dcc78 100644
--- a/configs/res_fax.conf.sample
+++ b/configs/res_fax.conf.sample
@@ -8,8 +8,8 @@ maxrate=14400
 
 ; Minimum Transmission Rate
 ; Possible values are { 2400 | 4800 | 7200 | 9600 | 12000 | 14400 }
-; Set this value to the minimum desired transfer rate.  Default: 2400
-minrate=2400
+; Set this value to the minimum desired transfer rate.  Default: 4800
+minrate=4800
 
 ; Send Progress/Status events to manager session
 ; Manager events with 'call' class permissions will receive events indicating the
diff --git a/res/res_fax.c b/res/res_fax.c
index 76fe0ca9813de27e71914dc528ad4b4d31ec1318..c4e64cd7176a6875a9862ae6454819aa6649c58b 100644
--- a/res/res_fax.c
+++ b/res/res_fax.c
@@ -333,7 +333,7 @@ struct fax_module {
 };
 static AST_RWLIST_HEAD_STATIC(faxmodules, fax_module);
 
-#define RES_FAX_MINRATE 2400
+#define RES_FAX_MINRATE 4800
 #define RES_FAX_MAXRATE 14400
 #define RES_FAX_STATUSEVENTS 0
 #define RES_FAX_MODEM (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V27 | AST_FAX_MODEM_V29)
@@ -708,7 +708,7 @@ static int check_modem_rate(enum ast_fax_modems modems, unsigned int rate)
 {
 	switch (rate) {
 	case 2400:
-		if (!(modems & (AST_FAX_MODEM_V27 | AST_FAX_MODEM_V34))) {
+		if (!(modems & (AST_FAX_MODEM_V34))) {
 			return 1;
 		}
 		break;
@@ -718,11 +718,15 @@ static int check_modem_rate(enum ast_fax_modems modems, unsigned int rate)
 		}
 		break;
 	case 7200:
-	case 9600:
 		if (!(modems & (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V29 | AST_FAX_MODEM_V34))) {
 			return 1;
 		}
 		break;
+	case 9600:
+		if (!(modems & (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V27 | AST_FAX_MODEM_V29 | AST_FAX_MODEM_V34))) {
+			return 1;
+		}
+		break;
 	case 12000:
 	case 14400:
 		if (!(modems & (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V34))) {