diff --git a/mrdna/readers/segmentmodel_from_pdb.py b/mrdna/readers/segmentmodel_from_pdb.py
index ca170303b4b03898165653e8a3c3323a1c7b1e75..8dec750f998c7661859fe18861e0ebfc20c6cae3 100644
--- a/mrdna/readers/segmentmodel_from_pdb.py
+++ b/mrdna/readers/segmentmodel_from_pdb.py
@@ -327,7 +327,7 @@ def SegmentModelFromPdb(*args,**kwargs):
                                             stacks,
                                             three_prime,
                                             seq,
-                                            orientations
+                                            np.array(orientations)
     )
 
 if __name__ == "__main__":
diff --git a/mrdna/segmentmodel.py b/mrdna/segmentmodel.py
index 33db573e0ed2ce11a172b520ef2864e8ad200226..10a5fe977655e25a439085bf3439f7abb69aa700 100644
--- a/mrdna/segmentmodel.py
+++ b/mrdna/segmentmodel.py
@@ -573,7 +573,7 @@ class Segment(ConnectableElement, Group):
             orientations = np.array([self.contour_to_orientation(v) for v in u])
             for i in ids:
                 orientations[i,:] = rotation_matrix.dot(orientations[i])
-            quats = [quaternion_from_matrix(o) for o in orientations]
+            quats = np.array([quaternion_from_matrix(o) for o in orientations])
             self.set_orientation_splines(u, quats)
 
     def _set_splines_from_ends(self, resolution=4):