diff --git a/blast/interfaces/dart/DartInterface.py b/blast/interfaces/dart/DartInterface.py
index 7b3752c811dc7fecf15264c379a2b14de82fc16c..da0809b6b8d09b3a9cfc9659106d7699f6d4a797 100644
--- a/blast/interfaces/dart/DartInterface.py
+++ b/blast/interfaces/dart/DartInterface.py
@@ -76,6 +76,14 @@ class DartInterface(SolversInterface):
             np.savetxt('Cp'+sfx+'.dat', data, fmt='%1.6e', delimiter=', ', header='x, y, z, Cp', comments='')
         
         elif self.cfg['nDim'] == 3:
+                # Save surface cp
+                data = np.zeros((self.argOut['bnd'].nodes.size(), 4))
+                for i, n in enumerate(self.argOut['bnd'].nodes):
+                    data[i,0] = n.pos[0]
+                    data[i,1] = n.pos[1]
+                    data[i,2] = n.pos[2]
+                    data[i,3] = self.solver.Cp[n.row]
+                np.savetxt(self.argOut['msh'].name+'_Cp_surface'+sfx+'.dat', data, fmt='%1.6e', delimiter=', ', header='x, y, z, Cp', comments='')
                 import modules.dartflo.dart.utils as invUtils
                 if self.cfg['Format'] == 'vtk':
                     import os