Index: src/podofo/base/PdfParser.cpp
===================================================================
--- src/podofo/base/PdfParser.cpp	(revision 1999)
+++ src/podofo/base/PdfParser.cpp	(working copy)
@@ -72,6 +72,7 @@
 
 namespace PoDoFo {
 
+bool PdfParser::s_bIgnoreBrokenObjects = true;
 const long nMaxNumIndirectObjects = (1L << 23) - 1L;
 long PdfParser::s_nMaxObjects = nMaxNumIndirectObjects;
   
@@ -185,7 +186,6 @@
     m_nXRefLinearizedOffset = 0;
     m_lLastEOFOffset  = 0;
 
-    m_bIgnoreBrokenObjects = false;
     m_nIncrementalUpdates = 0;
     m_nRecursionDepth = 0;
 }
@@ -1178,7 +1178,7 @@
                     << " Index = " << i << std::endl;
                 delete pObject;
 
-                if( m_bIgnoreBrokenObjects ) 
+                if( s_bIgnoreBrokenObjects ) 
                 {
                     PdfError::LogMessage( eLogSeverity_Error, oss.str().c_str() );
                     m_vecObjects->AddFreeObject( PdfReference( i, 0 ) );
@@ -1304,7 +1304,15 @@
         std::ostringstream oss;
         oss << "Loading of object " << nObjNo << " 0 R failed!" << std::endl;
 
-        PODOFO_RAISE_ERROR_INFO( ePdfError_NoObject, oss.str().c_str() );
+        if ( s_bIgnoreBrokenObjects )
+        {
+            PdfError::LogMessage( eLogSeverity_Error, oss.str().c_str() );
+            return;
+        }
+        else
+        {
+            PODOFO_RAISE_ERROR_INFO( ePdfError_NoObject, oss.str().c_str() );
+        }
     }
     
 
Index: src/podofo/base/PdfParser.h
===================================================================
--- src/podofo/base/PdfParser.h	(revision 1999)
+++ src/podofo/base/PdfParser.h	(working copy)
@@ -366,7 +366,7 @@
     /**
      * \return if broken objects are ignored while parsing
      */
-    inline bool GetIgnoreBrokenObjects();
+    inline static bool GetIgnoreBrokenObjects();
 
     /**
      * Specify if the parser should ignore broken
@@ -378,7 +378,7 @@
      *
      * \param bBroken if true broken objects will be ignored
      */
-    inline void SetIgnoreBrokenObjects( bool bBroken );
+    inline static void SetIgnoreBrokenObjects( bool bBroken );
 
     /**
      * \return maximum object count to read
@@ -600,11 +600,12 @@
     std::set<int> m_setObjectStreams;
 
     bool          m_bStrictParsing;
-    bool          m_bIgnoreBrokenObjects;
 
     int           m_nIncrementalUpdates;
     int           m_nRecursionDepth;
 
+    static bool   s_bIgnoreBrokenObjects;
+	
     static long   s_nMaxObjects;
     
     std::set<pdf_long> m_visitedXRefOffsets;
@@ -681,7 +682,7 @@
 // -----------------------------------------------------
 bool PdfParser::GetIgnoreBrokenObjects()
 {
-    return m_bIgnoreBrokenObjects;
+    return s_bIgnoreBrokenObjects;
 }
 
 // -----------------------------------------------------
@@ -689,7 +690,7 @@
 // -----------------------------------------------------
 void PdfParser::SetIgnoreBrokenObjects( bool bBroken )
 {
-    m_bIgnoreBrokenObjects = bBroken;
+    s_bIgnoreBrokenObjects = bBroken;
 }
 
 // -----------------------------------------------------
