diff --git a/GUI/Model/Job/JobItem.cpp b/GUI/Model/Job/JobItem.cpp
index c6b1acd9372152665f0dbf5ddbfdcc695d225fd9..667e2f02b6e1f3a8f076f05f13881ca8160e38b4 100644
--- a/GUI/Model/Job/JobItem.cpp
+++ b/GUI/Model/Job/JobItem.cpp
@@ -631,6 +631,7 @@ void JobItem::readFrom(QXmlStreamReader* reader)
             // real item
         } else if (reader->name() == Tag::RealItem) {
             createRealItem()->readFrom(reader);
+            GUI::Session::XML::gotoEndElementOfTag(reader, Tag::RealItem);
 
             // simulated data
         } else if (reader->name() == Tag::SimulatedData) {
@@ -642,14 +643,11 @@ void JobItem::readFrom(QXmlStreamReader* reader)
 
             // fit suite
         } else if (reader->name() == Tag::FitSuite) {
-            if (!m_fitSuiteItem)
-                createFitSuiteItem();
-            m_fitSuiteItem->readFrom(reader);
+            createFitSuiteItem()->readFrom(reader);
             GUI::Session::XML::gotoEndElementOfTag(reader, Tag::FitSuite);
 
-        } else {
+        } else
             reader->skipCurrentElement();
-        }
     }
 }