diff --git a/modules/io/src/mol/omf.cc b/modules/io/src/mol/omf.cc
index 8068041f4a700378cfc7254efd65c8f87412b415..3d3c144deb6d9a962c5178a1779c804fa2cb9705 100644
--- a/modules/io/src/mol/omf.cc
+++ b/modules/io/src/mol/omf.cc
@@ -1155,6 +1155,10 @@ void OMF::FromStream(std::istream& stream) {
   Load(stream, bond_chain_names_);
   Load(stream, bond_atoms_);
   Load(stream, bond_orders_);
+
+  if(!stream.good()) {
+    throw ost::Error("Cannot read corrupted OMF stream");
+  }
 }
 
 void OMF::FillChain(ost::mol::ChainHandle& chain, ost::mol::XCSEditor& ed,