diff --git a/lib/ssluse.c b/lib/ssluse.c
index 6cf26057328d87f689ae8fb72eb57f45bfebb82c..ff043c6518052b4bbde8636363e34ea0094fa664 100644
--- a/lib/ssluse.c
+++ b/lib/ssluse.c
@@ -364,7 +364,7 @@ int cert_stuff(struct connectdata *conn,
       }
       break;
     case SSL_FILETYPE_ENGINE:
-#ifdef HAVE_OPENSSL_ENGINE_H
+#if defined(HAVE_OPENSSL_ENGINE_H) && defined(ENGINE_CTRL_GET_CMD_FROM_NAME)
       {
         if(data->state.engine) {
           const char *cmd_name = "LOAD_CERT_CTRL";
@@ -376,14 +376,13 @@ int cert_stuff(struct connectdata *conn,
           params.cert_id = cert_file;
           params.cert = NULL;
 
-#ifdef ENGINE_CTRL_GET_CMD_FROM_NAME
           /* Does the engine supports LOAD_CERT_CTRL ? */
           if (!ENGINE_ctrl(data->state.engine, ENGINE_CTRL_GET_CMD_FROM_NAME,
                            0, (void *)cmd_name, NULL)) {
             failf(data, "ssl engine does not support loading certificates");
             return 0;
           }
-#endif
+
           /* Load the certificate from the engine */
           if (!ENGINE_ctrl_cmd(data->state.engine, cmd_name,
                                0, &params, NULL, 1)) {