diff --git a/apps/openmw/mwstate/character.cpp b/apps/openmw/mwstate/character.cpp
index 7185ce89d..2bd2af139 100644
--- a/apps/openmw/mwstate/character.cpp
+++ b/apps/openmw/mwstate/character.cpp
@@ -27,6 +27,9 @@ void MWState::Character::addSlot (const boost::filesystem::path& path)
     ESM::ESMReader reader;
     reader.open (slot.mPath.string());
 
+    if (reader.getFormat()>ESM::Header::CurrentFormat)
+        return; // format is too new -> ignore
+
     if (reader.getRecName()!=ESM::REC_SAVE)
         return; // invalid save file -> ignore
 
diff --git a/apps/openmw/mwstate/statemanagerimp.cpp b/apps/openmw/mwstate/statemanagerimp.cpp
index 9a7e3d158..46239f5a2 100644
--- a/apps/openmw/mwstate/statemanagerimp.cpp
+++ b/apps/openmw/mwstate/statemanagerimp.cpp
@@ -107,7 +107,7 @@ void MWState::StateManager::saveGame (const std::string& description, const Slot
 
     std::ofstream stream (slot->mPath.string().c_str());
     ESM::ESMWriter writer;
-//    writer.setFormat ();
+    writer.setFormat (ESM::Header::CurrentFormat);
     writer.save (stream);
     writer.startRecord ("SAVE");
     slot->mProfile.save (writer);