Index: trunk/MagicSoft/Mars/mfileio/MReadTree.cc
===================================================================
--- trunk/MagicSoft/Mars/mfileio/MReadTree.cc	(revision 8075)
+++ trunk/MagicSoft/Mars/mfileio/MReadTree.cc	(revision 8133)
@@ -341,6 +341,6 @@
     {
         *fLog << err << "MReadTree::AddFile - ERROR: You cannot add a file, because MReadTree" << endl;
-        *fLog <<        "                            handles a memory based tree or its default" << endl;
-        *fLog <<        "                            constructor was called." << endl;
+        *fLog <<        "  is supposed to read its tree from memory or its default or its" << endl;
+        *fLog <<        "  default constructor was called (no tree name was given)." << endl;
         return 0;
     }
@@ -703,4 +703,12 @@
     if (!fTaskList)
         *fLog << warn << "WARNING - Standard tasklist MTaskList not found... ignoring Stream-ID." << endl;
+
+    if (!fTree || !fChain)
+    {
+        *fLog << err << "ERROR - Something went terribly wrong!" << endl;
+        *fLog <<        "        Maybe you called the default constructor?" << endl;
+        *fLog <<        "        Did you forget to give a tree name in the constructor?" << endl;
+        return kFALSE;
+    }
 
     //
Index: trunk/MagicSoft/Mars/mfileio/MWriteRootFile.cc
===================================================================
--- trunk/MagicSoft/Mars/mfileio/MWriteRootFile.cc	(revision 8075)
+++ trunk/MagicSoft/Mars/mfileio/MWriteRootFile.cc	(revision 8133)
@@ -114,4 +114,13 @@
 {
     TFile *file = dynamic_cast<TFile*>(gROOT->GetListOfFiles()->FindObject(name));
+
+    // If the file was not found with its name try its expanded name
+    if (!file)
+    {
+        TString fqp(name);
+        gSystem->ExpandPathName(fqp);
+        file = dynamic_cast<TFile*>(gROOT->GetListOfFiles()->FindObject(fqp));
+    }
+
     if (!file)
     {
@@ -725,5 +734,5 @@
 // --------------------------------------------------------------------------
 //
-// Open a new file with the ame fname. Move all trees and branches from the
+// Open a new file with the name fname. Move all trees and branches from the
 // old file to the new file.
 //
@@ -741,9 +750,15 @@
         return kTRUE;
     }
-
     if (!newfile)
     {
         *fLog << err << "ERROR - Cannot open new file " << fname << endl;
          return kFALSE;
+    }
+
+    if (!fOut)
+    {
+        *fLog << err << "ERROR - MWriteRootFile::ChangeFile... something went terribly wrong!" << endl;
+        *fLog <<        "        Please start debugging!" << endl;
+        return kFALSE;
     }
 
