diff --git a/parameter/XmlFileIncluderElement.cpp b/parameter/XmlFileIncluderElement.cpp
index 89e5c14..4986758 100644
--- a/parameter/XmlFileIncluderElement.cpp
+++ b/parameter/XmlFileIncluderElement.cpp
@@ -56,6 +56,11 @@
     // Use a doc source that load data from a file
     CXmlFileDocSource fileDocSource(strPath, elementSerializingContext.getXmlSchemaPathFolder() + "/" + strIncludedElementType + ".xsd", strIncludedElementType);
 
+    if (!fileDocSource.isParsable(elementSerializingContext)) {
+
+        return false;
+    }
+
     // Get top level element
     CXmlElement childElement;
 
diff --git a/xmlserializer/XmlFileDocSource.cpp b/xmlserializer/XmlFileDocSource.cpp
index c8a0837..f1094f1 100644
--- a/xmlserializer/XmlFileDocSource.cpp
+++ b/xmlserializer/XmlFileDocSource.cpp
@@ -43,9 +43,7 @@
 bool CXmlFileDocSource::populate(CXmlSerializingContext& serializingContext)
 {
     // Check that the doc has been created
-    if (!_pDoc) {
-
-        serializingContext.setError("Could not parse file " + _strXmlInstanceFile);
+    if (!isParsable(serializingContext)) {
 
         return false;
     }
@@ -84,6 +82,19 @@
     return true;
 }
 
+bool CXmlFileDocSource::isParsable(CXmlSerializingContext& serializingContext) const
+{
+    // Check that the doc has been created
+    if (!_pDoc) {
+
+        serializingContext.setError("Could not parse file " + _strXmlInstanceFile);
+
+        return false;
+    }
+
+    return true;
+}
+
 bool CXmlFileDocSource::isInstanceDocumentValid()
 {
 #ifdef LIBXML_SCHEMAS_ENABLED
diff --git a/xmlserializer/XmlFileDocSource.h b/xmlserializer/XmlFileDocSource.h
index 3274b29..46c5230 100644
--- a/xmlserializer/XmlFileDocSource.h
+++ b/xmlserializer/XmlFileDocSource.h
@@ -40,6 +40,9 @@
     // CXmlDocSource method implemented
     virtual bool populate(CXmlSerializingContext& serializingContext);
 
+    // Check that the file exists and is readable
+    virtual bool isParsable(CXmlSerializingContext& serializingContext) const;
+
 private:
 
     // Validation of the document with the xsd file
diff --git a/xmlserializer/XmlStringDocSink.cpp b/xmlserializer/XmlStringDocSink.cpp
index a96a1ed..c38036d 100644
--- a/xmlserializer/XmlStringDocSink.cpp
+++ b/xmlserializer/XmlStringDocSink.cpp
@@ -41,6 +41,11 @@
     int iSize;
     xmlDocDumpFormatMemoryEnc(xmlDocSource.getDoc(), &pcDumpedDoc, &iSize, "UTF-8", 1);
 
+    if (!pcDumpedDoc) {
+
+        return false;
+    }
+
     _strResult.append((const char*)pcDumpedDoc);
 
     xmlFree(pcDumpedDoc);
