diff --git a/src/tool_help.c b/src/tool_help.c
index fbd08e8af..7c74927eb 100644
--- a/src/tool_help.c
+++ b/src/tool_help.c
@@ -23,6 +23,7 @@
 
 #include "tool_panykey.h"
 #include "tool_help.h"
+#include "tool_operhlp.h"
 
 #include "memdebug.h" /* keep this as LAST include */
 
@@ -256,3 +257,12 @@ void tool_help(void)
 #endif
   }
 }
+
+void tool_list_engines(CURL *curl)
+{
+  struct curl_slist *engines = NULL;
+
+  curl_easy_getinfo(curl, CURLINFO_SSL_ENGINES, &engines);
+  list_engines(engines);
+  curl_slist_free_all(engines);
+}
diff --git a/src/tool_help.h b/src/tool_help.h
index 1b757dc80..775478df7 100644
--- a/src/tool_help.h
+++ b/src/tool_help.h
@@ -24,6 +24,7 @@
 #include "tool_setup.h"
 
 void tool_help(void);
+void tool_list_engines(CURL *curl);
 
 #endif /* HEADER_CURL_TOOL_HELP_H */
 
diff --git a/src/tool_operate.c b/src/tool_operate.c
index efe9bfc64..398cd812e 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -79,6 +79,7 @@
 #include "tool_writeout.h"
 #include "tool_xattr.h"
 #include "tool_vms.h"
+#include "tool_help.h"
 
 #include "memdebug.h" /* keep this as LAST include */
 
@@ -1831,10 +1832,7 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
     }
     /* Check if we were asked to list the SSL engines */
     else if(config->list_engines) {
-      struct curl_slist *engines = NULL;
-      curl_easy_getinfo(config->easy, CURLINFO_SSL_ENGINES, &engines);
-      list_engines(engines);
-      curl_slist_free_all(engines);
+      tool_list_engines(config->easy);
     }
     /* Perform the main operations */
     else {