diff --git a/src/xercesc/util/TransService.cpp b/src/xercesc/util/TransService.cpp
index f3bb80bf92d09b2fcc0722015cc2007abe277d84..d5d53f89558fd2a5532e4f83fba27ac5a4703530 100644
--- a/src/xercesc/util/TransService.cpp
+++ b/src/xercesc/util/TransService.cpp
@@ -552,13 +552,23 @@ XMLLCPTranscoder::~XMLLCPTranscoder()
 TranscodeToStr::TranscodeToStr(const XMLCh *in, const char *encoding,
                                MemoryManager *manager)
     : fString(0),
-	  fBytesWritten(0),
+      fBytesWritten(0),
       fMemoryManager(manager)
 {
     XMLTransService::Codes failReason;
     const XMLSize_t blockSize = 2048;
 
     XMLTranscoder* trans = XMLPlatformUtils::fgTransService->makeNewTranscoderFor(encoding, failReason, blockSize, fMemoryManager);
+    if (!trans) {
+        ThrowXMLwithMemMgr1
+        (
+            TranscodingException
+            , XMLExcepts::Trans_CantCreateCvtrFor
+            , encoding 
+            , fMemoryManager
+        );
+    }    
+
     Janitor<XMLTranscoder> janTrans(trans);
 
     transcode(in, XMLString::stringLen(in), trans);
@@ -567,13 +577,23 @@ TranscodeToStr::TranscodeToStr(const XMLCh *in, const char *encoding,
 TranscodeToStr::TranscodeToStr(const XMLCh *in, XMLSize_t length, const char *encoding,
                                MemoryManager *manager)
     : fString(0),
-	  fBytesWritten(0),
+      fBytesWritten(0),
       fMemoryManager(manager)
 {
     XMLTransService::Codes failReason;
     const XMLSize_t blockSize = 2048;
 
     XMLTranscoder* trans = XMLPlatformUtils::fgTransService->makeNewTranscoderFor(encoding, failReason, blockSize, fMemoryManager);
+    if (!trans) {
+        ThrowXMLwithMemMgr1
+        (
+            TranscodingException
+            , XMLExcepts::Trans_CantCreateCvtrFor
+            , encoding
+            , fMemoryManager
+        );
+    }
+
     Janitor<XMLTranscoder> janTrans(trans);
 
     transcode(in, length, trans);
@@ -582,7 +602,7 @@ TranscodeToStr::TranscodeToStr(const XMLCh *in, XMLSize_t length, const char *en
 TranscodeToStr::TranscodeToStr(const XMLCh *in, XMLTranscoder* trans,
                                MemoryManager *manager)
     : fString(0),
-	  fBytesWritten(0),
+      fBytesWritten(0),
       fMemoryManager(manager)
 {
     transcode(in, XMLString::stringLen(in), trans);
@@ -591,7 +611,7 @@ TranscodeToStr::TranscodeToStr(const XMLCh *in, XMLTranscoder* trans,
 TranscodeToStr::TranscodeToStr(const XMLCh *in, XMLSize_t length, XMLTranscoder* trans,
                                MemoryManager *manager)
     : fString(0),
-	  fBytesWritten(0),
+      fBytesWritten(0),
       fMemoryManager(manager)
 {
     transcode(in, length, trans);
@@ -658,13 +678,23 @@ void TranscodeToStr::transcode(const XMLCh *in, XMLSize_t len, XMLTranscoder* tr
 TranscodeFromStr::TranscodeFromStr(const XMLByte *data, XMLSize_t length, const char *encoding,
                                    MemoryManager *manager)
     : fString(0),
-	  fCharsWritten(0),
+      fCharsWritten(0),
       fMemoryManager(manager)
 {
     XMLTransService::Codes failReason;
     const XMLSize_t blockSize = 2048;
 
     XMLTranscoder* trans = XMLPlatformUtils::fgTransService->makeNewTranscoderFor(encoding, failReason, blockSize, fMemoryManager);
+    if (!trans) {
+        ThrowXMLwithMemMgr1
+        (
+            TranscodingException
+            , XMLExcepts::Trans_CantCreateCvtrFor
+            , encoding
+            , fMemoryManager
+        );
+    }
+
     Janitor<XMLTranscoder> janTrans(trans);
 
     transcode(data, length, trans);
@@ -673,7 +703,7 @@ TranscodeFromStr::TranscodeFromStr(const XMLByte *data, XMLSize_t length, const
 TranscodeFromStr::TranscodeFromStr(const XMLByte *data, XMLSize_t length, XMLTranscoder *trans,
                                    MemoryManager *manager)
     : fString(0),
-	  fCharsWritten(0),
+      fCharsWritten(0),
       fMemoryManager(manager)
 {
     transcode(data, length, trans);