diff --git a/hash_fun.hxx.in b/hash_fun.hxx.in
index 2a1305ee1df6275c4cefdb89970e1ada4db9f052..8c5eb6ae34a4c289607f479015fab79e49af2a7b 100644
--- a/hash_fun.hxx.in
+++ b/hash_fun.hxx.in
@@ -71,10 +71,12 @@ struct hash<const char*> {
   size_t operator()(const @KWSYS_NAMESPACE@_stl::string & __s) const { return _stl_hash_string(__s.c_str()); }
 };
 
+#if !defined(__BORLANDC__)
 @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
   struct hash<const @KWSYS_NAMESPACE@_stl::string> {
   size_t operator()(const @KWSYS_NAMESPACE@_stl::string & __s) const { return _stl_hash_string(__s.c_str()); }
 };
+#endif
 
 @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
 struct hash<char> {