diff --git a/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp b/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
index 962992c4d690284b8d9ecc806a3e2b2ac144b675..acf790851b38e0fc53883b0fe553f67b7eedba0e 100644
--- a/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
+++ b/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
@@ -244,9 +244,9 @@ unsigned int IconvLCPTranscoder::calcRequiredSize(const char* const srcText
     for ( ; *src; ++len)
     {
 #if HAVE_MBRLEN
-        int l=::mblen( src, MB_CUR_MAX );
-#else
         int l=::mbrlen( src, MB_CUR_MAX, &st );
+#else
+        int l=::mblen( src, MB_CUR_MAX );
 #endif
         if( l == TRANSCODING_ERROR ) 
             return 0;