Index: src/Actions/FragmentationAction/AnalyseFragmentationResultsAction.cpp
===================================================================
--- src/Actions/FragmentationAction/AnalyseFragmentationResultsAction.cpp	(revision bf1d1bfb12b770ac6758bd32d657becf19aa5351)
+++ src/Actions/FragmentationAction/AnalyseFragmentationResultsAction.cpp	(revision e355b3198d825bb9c375781f753efe001a9585b8)
@@ -44,7 +44,7 @@
 #include <boost/mpl/remove.hpp>
 
-#include <vector>
 #include <fstream>
 #include <iostream>
+//#include <numeric>
 #include <string>
 #include <vector>
@@ -283,5 +283,17 @@
           "appendToHomologyFile() - cannot find index "+toString(*index)
           +" in FragmentResults.");
-      value.potential_distribution = boost::fusion::at_key<VMGDataFused::sampled_potential>(potentialiter->second.second); // contributions
+      // add e+n potentials
+      value.potential_distribution = boost::fusion::at_key<VMGDataFused::both_sampled_potential>(potentialiter->second.second); // contributions
+//      // and re-average to zero (integral is times volume_element which we don't need here)
+//      const double sum =
+//          std::accumulate(
+//              value.potential_distribution.sampled_grid.begin(),
+//              value.potential_distribution.sampled_grid.end(),
+//              0.);
+//      const double offset = sum/(double)value.potential_distribution.sampled_grid.size();
+//      for (SamplingGrid::sampledvalues_t::iterator iter = value.potential_distribution.sampled_grid.begin();
+//          iter != value.potential_distribution.sampled_grid.end();
+//          ++iter)
+//        *iter -= offset;
     }
     values.insert( std::make_pair( graph, value) );
Index: src/Actions/FragmentationAction/FragmentationAutomationAction.cpp
===================================================================
--- src/Actions/FragmentationAction/FragmentationAutomationAction.cpp	(revision bf1d1bfb12b770ac6758bd32d657becf19aa5351)
+++ src/Actions/FragmentationAction/FragmentationAutomationAction.cpp	(revision e355b3198d825bb9c375781f753efe001a9585b8)
@@ -208,7 +208,9 @@
           "FragmentationFragmentationAutomationAction::performCall() - longrange results have different sizes.");
       std::map<JobId_t, VMGData>::iterator destiter = longrangedata.begin();
-      std::map<JobId_t, VMGData>::iterator srciter = longrangedata_both.begin();
-      for (;destiter != longrangedata.end(); ++srciter, ++destiter)
+      std::map<JobId_t, VMGData>::const_iterator srciter = longrangedata_both.begin();
+      for (;destiter != longrangedata.end(); ++srciter, ++destiter) {
+        destiter->second.both_sampled_potential = srciter->second.sampled_potential;
         destiter->second.nuclei_long = srciter->second.nuclei_long;
+      }
     }
   }
Index: src/Fragmentation/Summation/Containers/VMGData.hpp
===================================================================
--- src/Fragmentation/Summation/Containers/VMGData.hpp	(revision bf1d1bfb12b770ac6758bd32d657becf19aa5351)
+++ src/Fragmentation/Summation/Containers/VMGData.hpp	(revision e355b3198d825bb9c375781f753efe001a9585b8)
@@ -42,4 +42,6 @@
   //!> sampled potential on the grid as output
   SamplingGrid sampled_potential;
+  //!> sampled potential on the grid as output
+  SamplingGrid both_sampled_potential;
   //!> nuclei long-range contribution to energy
   double nuclei_long;
@@ -54,4 +56,6 @@
   {
     ar & sampled_potential;
+    if (version > 1)
+      ar & both_sampled_potential;
     if (version > 0)
       ar & nuclei_long;
@@ -60,5 +64,5 @@
 };
 
-BOOST_CLASS_VERSION(VMGData, 1)
+BOOST_CLASS_VERSION(VMGData, 2)
 
 std::ostream & operator<<(std::ostream &ost, const VMGData &data);
Index: src/Fragmentation/Summation/Containers/VMGDataFused.hpp
===================================================================
--- src/Fragmentation/Summation/Containers/VMGDataFused.hpp	(revision bf1d1bfb12b770ac6758bd32d657becf19aa5351)
+++ src/Fragmentation/Summation/Containers/VMGDataFused.hpp	(revision e355b3198d825bb9c375781f753efe001a9585b8)
@@ -26,5 +26,5 @@
   // keys for sampled_potential
   struct sampled_potential {};
-  struct energy_potential {};
+  struct both_sampled_potential {};
   struct nuclei_long {};
   struct electron_long {};
Index: src/Fragmentation/Summation/Containers/VMGDataMap.hpp
===================================================================
--- src/Fragmentation/Summation/Containers/VMGDataMap.hpp	(revision bf1d1bfb12b770ac6758bd32d657becf19aa5351)
+++ src/Fragmentation/Summation/Containers/VMGDataMap.hpp	(revision e355b3198d825bb9c375781f753efe001a9585b8)
@@ -31,5 +31,5 @@
 typedef boost::fusion::map<
     boost::fusion::pair<VMGDataFused::sampled_potential, SamplingGrid >,
-    boost::fusion::pair<VMGDataFused::energy_potential, double >,
+    boost::fusion::pair<VMGDataFused::both_sampled_potential, SamplingGrid >,
     boost::fusion::pair<VMGDataFused::nuclei_long, double >,
     boost::fusion::pair<VMGDataFused::electron_long, double >
@@ -38,5 +38,5 @@
 typedef boost::mpl::list<
     VMGDataFused::sampled_potential,
-    VMGDataFused::energy_potential,
+    VMGDataFused::both_sampled_potential,
     VMGDataFused::nuclei_long,
     VMGDataFused::electron_long
Index: src/Fragmentation/Summation/Containers/VMGData_printKeyNames.hpp
===================================================================
--- src/Fragmentation/Summation/Containers/VMGData_printKeyNames.hpp	(revision bf1d1bfb12b770ac6758bd32d657becf19aa5351)
+++ src/Fragmentation/Summation/Containers/VMGData_printKeyNames.hpp	(revision e355b3198d825bb9c375781f753efe001a9585b8)
@@ -35,5 +35,5 @@
 #define tokensequence \
 	(sampled_potential) \
-  (energy_potential) \
+  (both_sampled_potential) \
   (nuclei_long) \
   (electron_long) \
Index: src/Fragmentation/Summation/Converter/DataConverter.hpp
===================================================================
--- src/Fragmentation/Summation/Converter/DataConverter.hpp	(revision bf1d1bfb12b770ac6758bd32d657becf19aa5351)
+++ src/Fragmentation/Summation/Converter/DataConverter.hpp	(revision e355b3198d825bb9c375781f753efe001a9585b8)
@@ -89,5 +89,5 @@
     VMGDataMap_t instance;
     boost::fusion::at_key<VMGDataFused::sampled_potential>(instance) = extractedData.sampled_potential;
-    boost::fusion::at_key<VMGDataFused::energy_potential>(instance) = extractedData.sampled_potential.integral();
+    boost::fusion::at_key<VMGDataFused::both_sampled_potential>(instance) = extractedData.both_sampled_potential;
     boost::fusion::at_key<VMGDataFused::nuclei_long>(instance) = extractedData.nuclei_long;
     boost::fusion::at_key<VMGDataFused::electron_long>(instance) = extractedData.electron_long;
