--- a/src/main.c
+++ b/src/main.c
@@ -965,10 +965,12 @@ main(int argc, char **argv)
   sigprocmask(SIG_BLOCK, &set, NULL);
   trap_init(argv[0]);
 
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
   /* SSL library init */
   OPENSSL_config(NULL);
   SSL_load_error_strings();
   SSL_library_init();
+#endif
 
   /* Initialise configuration */
   notify_init();
@@ -1159,8 +1161,11 @@ main(int argc, char **argv)
 #endif
   free(opt_satip_xml.str);
 
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
   /* OpenSSL - welcome to the "cleanup" hell */
+#ifndef OPENSSL_NO_ENGINE
   ENGINE_cleanup();
+#endif
   RAND_cleanup();
   CRYPTO_cleanup_all_ex_data();
   EVP_cleanup();
@@ -1168,12 +1173,13 @@ main(int argc, char **argv)
 #ifndef OPENSSL_NO_COMP
   COMP_zlib_cleanup();
 #endif
-  ERR_remove_state(0);
+  ERR_remove_thread_state(NULL);
   ERR_free_strings();
 #ifndef OPENSSL_NO_COMP
   sk_SSL_COMP_free(SSL_COMP_get_compression_methods());
 #endif
   /* end of OpenSSL cleanup code */
+#endif
 
 #if ENABLE_DBUS_1
   extern void dbus_shutdown(void);
