diff --git a/ChangeLog b/ChangeLog
index f618402839..1562f0d48f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Apr 23 23:27:17 2010  Tanaka Akira  <akr@fsij.org>
+
+	* ext/openssl/ossl_config.c: fix compilation failure with
+	  OpenSSL 0.9.8.
+
 Fri Apr 23 17:29:35 2010  NAKAMURA Usaku  <usa@ruby-lang.org>
 
 	* ext/openssl/ossl_config.c: OpenSSL 1.0.0 support.
diff --git a/ext/openssl/ossl_config.c b/ext/openssl/ossl_config.c
index 91faacf94b..22ea9dea5d 100644
--- a/ext/openssl/ossl_config.c
+++ b/ext/openssl/ossl_config.c
@@ -312,7 +312,7 @@ ossl_config_get_section_old(VALUE self, VALUE section)
     return ossl_config_get_section(self, section);
 }
 
-#ifdef IMPLEMENT_LHASH_DOALL_ARG_FN
+#if defined(IMPLEMENT_LHASH_DOALL_ARG_FN) && defined(LHASH_OF)
 static void
 get_conf_section_doall_arg(CONF_VALUE *cv, void *tmp)
 {