--- a/lib/ssluse.c
+++ b/lib/ssluse.c
@@ -1384,10 +1384,12 @@ ossl_connect_step1(struct connectdata *c
   case CURL_SSLVERSION_TLSv1:
     req_method = TLSv1_client_method();
     break;
+#ifndef OPENSSL_NO_SSL2
   case CURL_SSLVERSION_SSLv2:
     req_method = SSLv2_client_method();
     sni = FALSE;
     break;
+#endif
   case CURL_SSLVERSION_SSLv3:
     req_method = SSLv3_client_method();
     sni = FALSE;
--- a/src/main.c
+++ b/src/main.c
@@ -824,7 +824,9 @@ static void help(void)
 #endif
     " -Y/--speed-limit   Stop transfer if below speed-limit for 'speed-time' secs",
     " -y/--speed-time    Time needed to trig speed-limit abort. Defaults to 30",
+#ifndef OPENSSL_NO_SSL2
     " -2/--sslv2         Use SSLv2 (SSL)",
+#endif
     " -3/--sslv3         Use SSLv3 (SSL)",
     "    --stderr <file> Where to redirect stderr. - means stdout",
     "    --tcp-nodelay   Use the TCP_NODELAY option",
@@ -2228,10 +2230,12 @@ static ParameterError getparameter(char 
       /* TLS version 1 */
       config->ssl_version = CURL_SSLVERSION_TLSv1;
       break;
+#ifndef OPENSSL_NO_SSL2
     case '2':
       /* SSL version 2 */
       config->ssl_version = CURL_SSLVERSION_SSLv2;
       break;
+#endif
     case '3':
       /* SSL version 3 */
       config->ssl_version = CURL_SSLVERSION_SSLv3;