Index: src/Actions/FragmentationAction/AnalyseFragmentationResultsAction.cpp
===================================================================
--- src/Actions/FragmentationAction/AnalyseFragmentationResultsAction.cpp	(revision 9583126d552a498ec6a0147ae02647de07721eef)
+++ src/Actions/FragmentationAction/AnalyseFragmentationResultsAction.cpp	(revision 92f978cdee147fc163e1b3706466510779c7ca26)
@@ -241,9 +241,8 @@
   // print tables (without eigenvalues, they go extra)
 
-  if (results.Result_LongRange_fused.size() >= (results.getMaxLevel()-2))
   {
     const std::string gridresult =
         writeTable<VMGDataMap_t, VMGDataVector_t >()(
-            results.Result_LongRange_fused, results.getMaxLevel(), 2);
+            results.Result_LongRange_fused, results.getMaxLevel(), 1);
     LOG(2, "DEBUG: VMG table is \n" << gridresult);
     std::string filename;
@@ -252,9 +251,8 @@
   }
 
-  if (results.Result_LongRangeIntegrated_fused.size() >= (results.getMaxLevel()-2))
   {
     const std::string gridresult =
         writeTable<VMGDataLongRangeMap_t, VMGDataLongRangeVector_t >()(
-            results.Result_LongRangeIntegrated_fused, results.getMaxLevel(), 2);
+            results.Result_LongRangeIntegrated_fused, results.getMaxLevel(), 1);
     LOG(2, "DEBUG: LongRange table is \n" << gridresult);
     std::string filename;
Index: src/Fragmentation/Summation/Containers/FragmentationChargeDensity.cpp
===================================================================
--- src/Fragmentation/Summation/Containers/FragmentationChargeDensity.cpp	(revision 9583126d552a498ec6a0147ae02647de07721eef)
+++ src/Fragmentation/Summation/Containers/FragmentationChargeDensity.cpp	(revision 92f978cdee147fc163e1b3706466510779c7ca26)
@@ -93,7 +93,6 @@
 {
   std::vector<SamplingGrid> full_sample;
-  full_sample.reserve(Result_Grid_fused.size()-1);
-  // skip level 1, as the saturation hydrogen do not yet cancel each other
-  for (std::vector<MPQCDataGridMap_t>::const_iterator iter = ++Result_Grid_fused.begin();
+  full_sample.reserve(Result_Grid_fused.size());
+  for (std::vector<MPQCDataGridMap_t>::const_iterator iter = Result_Grid_fused.begin();
       iter !=Result_Grid_fused.end();
       ++iter)
Index: src/Fragmentation/Summation/Containers/FragmentationLongRangeResults.cpp
===================================================================
--- src/Fragmentation/Summation/Containers/FragmentationLongRangeResults.cpp	(revision 9583126d552a498ec6a0147ae02647de07721eef)
+++ src/Fragmentation/Summation/Containers/FragmentationLongRangeResults.cpp	(revision 92f978cdee147fc163e1b3706466510779c7ca26)
@@ -130,19 +130,7 @@
 
     Result_LongRangeIntegrated_fused.reserve(MaxLevel);
-    {
-      // NOTE: potential for level 1 is not calculated as saturation hydrogen
-      // are not removed on this level yet
-      VMGDataLongRangeMap_t instance;
-      boost::fusion::at_key<VMGDataFused::electron_longrange>(instance) = 0.;
-      boost::fusion::at_key<VMGDataFused::electron_shortrange>(instance) = 0.;
-      boost::fusion::at_key<VMGDataFused::mixed_longrange>(instance) = 0.;
-      boost::fusion::at_key<VMGDataFused::mixed_shortrange>(instance) = 0.;
-      boost::fusion::at_key<VMGDataFused::nuclei_longrange>(instance) = 0.;
-      boost::fusion::at_key<VMGDataFused::nuclei_shortrange>(instance) = 0.;
-      boost::fusion::at_key<VMGDataFused::total_longrange>(instance) = 0.;
-      boost::fusion::at_key<VMGDataFused::total_shortrange>(instance) = 0.;
-      Result_LongRangeIntegrated_fused.push_back(instance);
-    }
-    for (size_t level = 2; level <= MaxLevel; ++level) {
+    // NOTE: potential for level 1 is wrongly calculated within a molecule
+    // as saturation hydrogen are not removed on this level yet
+    for (size_t level = 1; level <= MaxLevel; ++level) {
       // We have calculated three different contributions: e-e, e-n+n-n, and n-n.
       // And we want to have e-e+e-n, n-n+n-e (where e-n = n-e).
@@ -152,10 +140,7 @@
       // first we obtain the full e-e energy as potential times charge on the
       // respective level.
-      // \note that sampled_potential starts at level 2 because we do not calculate
-      // for level 1 as there saturated hydrogens are still present, leaving the
-      // result to be nonsense.
       const SamplingGrid &charge_weight =
           boost::fusion::at_key<MPQCDataFused::sampled_grid>(Result_Grid_fused[level-1]);
-      SamplingGrid full_sample_solution = fullsolutionData[level-2].sampled_potential;
+      SamplingGrid full_sample_solution = fullsolutionData[level-1].sampled_potential;
       full_sample_solution *= charge_weight;
       double electron_solution_energy = full_sample_solution.integral();
@@ -172,5 +157,5 @@
 
       // then, we obtain the e-n+n-n full solution in the same way
-      double nuclei_solution_energy = fullsolutionData[level-2].nuclei_long;
+      double nuclei_solution_energy = fullsolutionData[level-1].nuclei_long;
       double nuclei_short_range_energy =
           boost::fusion::at_key<VMGDataFused::nuclei_long>(Result_LongRange_fused[level-1]);
@@ -178,5 +163,5 @@
 
       // and also the e-n full solution
-      double both_solution_energy = fullsolutionData[level-2].electron_long;
+      double both_solution_energy = fullsolutionData[level-1].electron_long;
       double both_short_range_energy =
           boost::fusion::at_key<VMGDataFused::electron_long>(Result_LongRange_fused[level-1]);
