diff --git a/blast/interfaces/DDataStructure.py b/blast/interfaces/DDataStructure.py
index c1eec30aafe137851af16f96e1fd529ea367b6ea..161822e0e51f01de35fb14366821c722b6b67486 100644
--- a/blast/interfaces/DDataStructure.py
+++ b/blast/interfaces/DDataStructure.py
@@ -9,7 +9,7 @@ class Group:
         self.nPoints = nPoints
         self.nElems = nPoints - 1
         self.nodesCoord = np.zeros((self.nPoints,4))
-        self.elemsCoord = np.zeros((self.nPoints,4))
+        self.elemsCoord = np.zeros((self.nPoints-1,4))
         
         self.V = np.zeros((self.nPoints,3))
         self.M = np.zeros(self.nPoints)
diff --git a/blast/interfaces/dart/DartInterface.py b/blast/interfaces/dart/DartInterface.py
index a52b126ba6d1a0376c9a6d2f9a92f450d5456968..b6fecc9bdda65e857116e3a81df97597483bf97a 100644
--- a/blast/interfaces/dart/DartInterface.py
+++ b/blast/interfaces/dart/DartInterface.py
@@ -267,9 +267,17 @@ class DartInterface(SolversInterface):
         data[:,2] = data[connectListNodes,2]
         data[:,3] = data[connectListNodes,3]
         data[:,4] = data[connectListNodes,4]
+
         self.iBnd[0].nodesCoord = np.column_stack((data[:,1], data[:,2],\
                                                    data[:,3], data[:,4]))
         self.iBnd[0].setConnectList(connectListNodes, connectListElems)
+        elemCoord = np.zeros((len(self.iBnd[0].nodesCoord)-1, 4))
+        for i in range(len(elemCoord[:,0])):
+            elemCoord[i,0] = 0.5 * (self.iBnd[0].nodesCoord[i,0] + self.iBnd[0].nodesCoord[i+1,0])
+            elemCoord[i,1] = 0.5 * (self.iBnd[0].nodesCoord[i,1] + self.iBnd[0].nodesCoord[i+1,1])
+            elemCoord[i,2] = 0.5 * (self.iBnd[0].nodesCoord[i,2] + self.iBnd[0].nodesCoord[i+1,2])
+            elemCoord[i,3] = i
+        self.iBnd[0].elemsCoord = elemCoord
 
         # Wake
         self.iBnd[1].initStructures(self.blw[1].nodes.size())