Index: src/Fragmentation/Automation/FragmentationResults.cpp
===================================================================
--- src/Fragmentation/Automation/FragmentationResults.cpp	(revision d4f31f81b52f0c8280c1e51d05c0c10027b7a75e)
+++ src/Fragmentation/Automation/FragmentationResults.cpp	(revision 5a5196ce72216409382904043b36c0b0e8c3d422)
@@ -60,5 +60,5 @@
 FragmentationResults::FragmentationResults(
     const std::map<JobId_t,MPQCData> &fragmentData,
-    const std::map<JobId_t,VMGData> &longrangeData,
+    std::map<JobId_t,VMGData> &longrangeData,
     const std::vector<VMGData> &fullsolutionData,
     const std::string &KeySetFilename,
@@ -133,4 +133,12 @@
       OrthogonalSumUpPerLevel<MPQCDataFragmentMap_t, MPQCData, MPQCDataFragmentVector_t>(
           fragmentData, MPQCMatrixNrLookup, container, subsetmap);
+
+    // multiply each short-range potential with the respective charge
+    std::map<JobId_t,MPQCData>::const_iterator mpqciter = fragmentData.begin();
+    std::map<JobId_t,VMGData>::iterator vmgiter = longrangeData.begin();
+    for (; vmgiter != longrangeData.end(); ++mpqciter, ++vmgiter) {
+      vmgiter->second.sampled_potential *= mpqciter->second.sampled_grid;
+    }
+    // then sum up
     Result_LongRange_fused =
       OrthogonalSumUpPerLevel<VMGDataMap_t, VMGData, VMGDataVector_t>(
@@ -173,16 +181,16 @@
       // multiply element-wise with charge distribution
       VMGDataLongRangeMap_t instance;
-      boost::fusion::at_key<VMGDataFused::potential_longrange>(instance) = full_sample_solution.integral();
-      LOG(0, "Remaining long-range potential integral of level " << level << " is "
+//      boost::fusion::at_key<VMGDataFused::potential_longrange>(instance) = full_sample_solution.integral();
+////      LOG(0, "Remaining long-range potential integral of level " << level << " is "
+////          << full_sample_solution.integral() << ".");
+//      boost::fusion::at_key<VMGDataFused::potential_shortrange>(instance) = short_range_correction.integral();
+////      LOG(0, "Short-range correction potential integral of level " << level << " is "
+////          << short_range_correction.integral() << ".");
+      boost::fusion::at_key<VMGDataFused::energy_longrange>(instance) = full_sample_solution.integral();
+      LOG(0, "Remaining long-range energy from potential integral of level " << level << " is "
           << full_sample_solution.integral() << ".");
-      boost::fusion::at_key<VMGDataFused::potential_shortrange>(instance) = short_range_correction.integral();
-      LOG(0, "Short-range correction potential integral of level " << level << " is "
+      boost::fusion::at_key<VMGDataFused::energy_shortrange>(instance) = short_range_correction.integral();
+      LOG(0, "Short-range correction energy from potential integral of level " << level << " is "
           << short_range_correction.integral() << ".");
-      boost::fusion::at_key<VMGDataFused::energy_longrange>(instance) = full_sample_solution.integral(charge_weight);
-      LOG(0, "Remaining long-range energy from potential integral of level " << level << " is "
-          << full_sample_solution.integral(charge_weight) << ".");
-      boost::fusion::at_key<VMGDataFused::energy_shortrange>(instance) = short_range_correction.integral(charge_weight);
-      LOG(0, "Short-range correction energy from potential integral of level " << level << " is "
-          << short_range_correction.integral(charge_weight) << ".");
       Result_LongRangeIntegrated_fused.push_back(instance);
     }
Index: src/Fragmentation/Automation/FragmentationResults.hpp
===================================================================
--- src/Fragmentation/Automation/FragmentationResults.hpp	(revision d4f31f81b52f0c8280c1e51d05c0c10027b7a75e)
+++ src/Fragmentation/Automation/FragmentationResults.hpp	(revision 5a5196ce72216409382904043b36c0b0e8c3d422)
@@ -50,5 +50,5 @@
   FragmentationResults(
       const std::map<JobId_t,MPQCData> &fragmentData,
-      const std::map<JobId_t,VMGData> &longrangeData,
+      std::map<JobId_t,VMGData> &longrangeData,
       const std::vector<VMGData> &fullsolutionData,
       const std::string &KeySetFilename,
