diff --git a/include/types/proxy.h b/include/types/proxy.h
index 53c00f7..13b5f2a 100644
--- a/include/types/proxy.h
+++ b/include/types/proxy.h
@@ -94,7 +94,6 @@
 #define PR_O_FORCE_CLO  0x00200000      /* enforce the connection close immediately after server response */
 #define PR_O_TCP_NOLING 0x00400000      /* disable lingering on client and server connections */
 #define PR_O_ABRT_CLOSE 0x00800000      /* immediately abort request when client closes */
-#define PR_O_SSL3_CHK   0x01000000      /* use SSLv3 CLIENT_HELLO packets for server health */
 
 /* TPXY: exclusive values */
 #define PR_O_TPXY_ADDR  0x02000000	/* bind to this non-local address when connect()ing */
@@ -137,6 +136,7 @@
 #define PR_O2_MYSQL_CHK 0x00020000      /* use MYSQL check for server health */
 #define PR_O2_USE_PXHDR 0x00040000      /* use Proxy-Connection for proxy requests */
 #define PR_O2_CHK_SNDST 0x00080000      /* send the state of each server along with HTTP health checks */
+#define PR_O2_SSL3_CHK  0x00100000      /* use SSLv3 CLIENT_HELLO packets for server health */
 /* end of proxy->options2 */
 
 /* bits for sticking rules */
diff --git a/src/cfgparse.c b/src/cfgparse.c
index 645c631..b647ff2 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -2667,8 +2667,8 @@
 			/* use HTTP request to check servers' health */
 			free(curproxy->check_req);
 			curproxy->check_req = NULL;
-			curproxy->options &= ~PR_O_SSL3_CHK;
 			curproxy->options &= ~PR_O_SMTP_CHK;
+			curproxy->options2 &= ~PR_O2_SSL3_CHK;
 			curproxy->options2 &= ~PR_O2_MYSQL_CHK;
 			curproxy->options |= PR_O_HTTP_CHK;
 			if (!*args[2]) { /* no argument */
@@ -2701,14 +2701,14 @@
 			curproxy->options &= ~PR_O_HTTP_CHK;
 			curproxy->options &= ~PR_O_SMTP_CHK;
 			curproxy->options2 &= ~PR_O2_MYSQL_CHK;
-			curproxy->options |= PR_O_SSL3_CHK;
+			curproxy->options2 |= PR_O2_SSL3_CHK;
 		}
 		else if (!strcmp(args[1], "smtpchk")) {
 			/* use SMTP request to check servers' health */
 			free(curproxy->check_req);
 			curproxy->check_req = NULL;
 			curproxy->options &= ~PR_O_HTTP_CHK;
-			curproxy->options &= ~PR_O_SSL3_CHK;
+			curproxy->options2 &= ~PR_O2_SSL3_CHK;
 			curproxy->options2 &= ~PR_O2_MYSQL_CHK;
 			curproxy->options |= PR_O_SMTP_CHK;
 
@@ -2734,8 +2734,8 @@
 			free(curproxy->check_req);
 			curproxy->check_req = NULL;
 			curproxy->options &= ~PR_O_HTTP_CHK;
-			curproxy->options &= ~PR_O_SSL3_CHK;
 			curproxy->options &= ~PR_O_SMTP_CHK;
+			curproxy->options2 &= ~PR_O2_SSL3_CHK;
 			curproxy->options2 |= PR_O2_MYSQL_CHK;
 		}
 		else if (!strcmp(args[1], "forwardfor")) {
@@ -4915,7 +4915,7 @@
 			}
 		}
 
-		if (curproxy->options & PR_O_SSL3_CHK) {
+		if (curproxy->options2 & PR_O2_SSL3_CHK) {
 			curproxy->check_len = sizeof(sslv3_client_hello_pkt) - 1;
 			curproxy->check_req = (char *)malloc(curproxy->check_len);
 			memcpy(curproxy->check_req, sslv3_client_hello_pkt, curproxy->check_len);
diff --git a/src/checks.c b/src/checks.c
index e6fec7d..d326625 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -741,8 +741,8 @@
 	if (!(s->result & SRV_CHK_ERROR)) {
 		/* we don't want to mark 'UP' a server on which we detected an error earlier */
 		if ((s->proxy->options & PR_O_HTTP_CHK) ||
-		    (s->proxy->options & PR_O_SSL3_CHK) ||
 		    (s->proxy->options & PR_O_SMTP_CHK) ||
+		    (s->proxy->options2 & PR_O2_SSL3_CHK) ||
 		    (s->proxy->options2 & PR_O2_MYSQL_CHK)) {
 			int ret;
 			const char *check_req = s->proxy->check_req;
@@ -752,7 +752,7 @@
 			 * so we'll send the request, and won't wake the checker up now.
 			 */
 
-			if (s->proxy->options & PR_O_SSL3_CHK) {
+			if (s->proxy->options2 & PR_O2_SSL3_CHK) {
 				/* SSL requires that we put Unix time in the request */
 				int gmt_time = htonl(date.tv_sec);
 				memcpy(s->proxy->check_req + 11, &gmt_time, 4);
@@ -956,7 +956,7 @@
 			set_server_check_status(s, HCHK_STATUS_L7STS, desc);
 		}
 	}
-	else if (s->proxy->options & PR_O_SSL3_CHK) {
+	else if (s->proxy->options2 & PR_O2_SSL3_CHK) {
 		if (!done && s->check_data_len < 5)
 			goto wait_more_data;
 
@@ -1359,7 +1359,7 @@
 				if (!EV_FD_ISSET(fd, DIR_RD)) {
 					set_server_check_status(s, HCHK_STATUS_L4TOUT, NULL);
 				} else {
-					if (s->proxy->options & PR_O_SSL3_CHK)
+					if (s->proxy->options2 & PR_O2_SSL3_CHK)
 						set_server_check_status(s, HCHK_STATUS_L6TOUT, NULL);
 					else	/* HTTP, SMTP */
 						set_server_check_status(s, HCHK_STATUS_L7TOUT, NULL);
