Index: src/Actions/FragmentationAction/FragmentationAutomationAction.cpp
===================================================================
--- src/Actions/FragmentationAction/FragmentationAutomationAction.cpp	(revision f06d528db608aa670621118d65d43dc67a5b5fd2)
+++ src/Actions/FragmentationAction/FragmentationAutomationAction.cpp	(revision bf12d19a7f676d91ce9221675cebc29d5393caa9)
@@ -324,4 +324,5 @@
   }
 
+  if (results.Result_LongRange_fused.size() >= (results.getMaxLevel()-2))
   {
     const std::string gridresult =
@@ -334,4 +335,5 @@
   }
 
+  if (results.Result_LongRangeIntegrated_fused.size() >= (results.getMaxLevel()-2))
   {
     const std::string gridresult =
@@ -383,5 +385,5 @@
     const std::string &KeySetFilename)
 {
-  // read homology container (if present)
+  /// read homology container (if present)
   HomologyContainer homology_container;
   if (boost::filesystem::exists(homology_file)) {
@@ -399,5 +401,5 @@
   }
 
-  // append all fragments to a HomologyContainer
+  /// append all fragments to a HomologyContainer
   HomologyContainer::container_t values;
   const size_t FragmentCounter = results.Result_perIndexSet_Energy.size();
@@ -409,13 +411,15 @@
   IndexSetContainer::Container_t::const_iterator iter = Indices.begin();
   IndexSetContainer::Container_t::const_iterator forceiter = ForceIndices.begin();
+  /// go through all fragments
   for (;iter != Indices.end(); ++iter, ++forceiter) // go through each IndexSet
   {
-    // create graph from the force indices (i.e. with hydrogens)
+    /// create new graph entry in HomologyContainer which is (key,value) type
     LOG(1, "INFO: Creating new graph with " << **forceiter << ".");
     HomologyGraph graph(**forceiter);
-    LOG(1, "INFO: Created graph " << graph << ".");
-    // obtain information for value of HomologyContainer entry with normal indices
+    LOG(2, "DEBUG: Created graph " << graph << ".");
     const IndexSet::ptr &index = *iter;
     HomologyContainer::value_t value;
+
+    // obtain fragment as key
     std::map<IndexSet::ptr, std::pair< MPQCDataFragmentMap_t, MPQCDataFragmentMap_t> >::const_iterator fragmentiter
         = results.Result_perIndexSet_Fragment.find(index);
@@ -424,4 +428,6 @@
         +" in FragmentResults.");
     value.first = boost::fusion::at_key<MPQCDataFused::fragment>(fragmentiter->second.first);
+
+    // obtain energy as value
     std::map<IndexSet::ptr, std::pair< MPQCDataEnergyMap_t, MPQCDataEnergyMap_t> >::const_iterator energyiter
         = results.Result_perIndexSet_Energy.find(index);
@@ -450,5 +456,5 @@
   }
 
-  // store homology container again
+  /// store homology container again
   std::ofstream outputstream(homology_file.string().c_str());
   if (outputstream.good()) { // check if opened
Index: src/Fragmentation/Summation/writeTable.hpp
===================================================================
--- src/Fragmentation/Summation/writeTable.hpp	(revision f06d528db608aa670621118d65d43dc67a5b5fd2)
+++ src/Fragmentation/Summation/writeTable.hpp	(revision bf12d19a7f676d91ce9221675cebc29d5393caa9)
@@ -36,16 +36,22 @@
   {
     std::stringstream resultstream;
-    // create header line for energy
+
+    /// create header line for energy
     HeaderPrinter header("level");
     boost::mpl::for_each<VectorType>(boost::ref(header));
     resultstream << header.get() << std::endl;
 
-    // print values per line
-    ASSERT( results.size() >= (MaxLevel-StartLevel),
-        "writeTable<M,V>() - results has insufficient size.");
-    for (size_t level = StartLevel; level <= MaxLevel; ++level) {
-      ValuePrinter<MapType, numprecision> values(results[level-1], level);
-      boost::mpl::for_each<VectorType>(boost::ref(values));
-      resultstream << values.get() << std::endl;
+    /// print values per line
+    if (MaxLevel >= StartLevel) {
+      ASSERT( results.size() >= (MaxLevel-StartLevel),
+          "writeTable<M,V>() - results has insufficient size.");
+      for (size_t level = StartLevel; level <= MaxLevel; ++level) {
+        ValuePrinter<MapType, numprecision> values(results[level-1], level);
+        boost::mpl::for_each<VectorType>(boost::ref(values));
+        resultstream << values.get() << std::endl;
+      }
+    } else {
+      ELOG(2, "writeTable does not output as MaxLevel(" << MaxLevel
+          << ") < StartLevel(" << StartLevel << ".");
     }
     return resultstream.str();
