diff --git a/dynamics.py b/dynamics.py
index 862cd1a9265ec8c899ba4e5737e4b14f7f96e8dd..8ab24e1c397780a449bba4b362903cfe4c8a9bae 100644
--- a/dynamics.py
+++ b/dynamics.py
@@ -1018,8 +1018,8 @@ class AssignmentToBacked(Assignment):
         ):
             acc = 0.0
             for source_position, factor in expression:
-                acc += factor * variable[:, source_position - source_start]
-            target_variable[:, local_target_position] = acc
+                acc += factor * variable[source_position - source_start]
+            target_variable[local_target_position] = acc
         return target_variable
 
 
@@ -1123,8 +1123,8 @@ class AssignmentFromBacked(Assignment):
         for local_target_position, source_position in enumerate(
             self.distribution_positions[target_start:target_end]
         ):
-            target_variable[:, local_target_position] = variable[
-                :, source_position - source_start
+            target_variable[local_target_position] = variable[
+                source_position - source_start
             ]
         return target_variable
 
@@ -1254,8 +1254,8 @@ class AssignmentCommon(Assignment):
         ):
             acc = 0.0
             for source_position, factor in expression:
-                acc += factor * variable[:, source_position - source_start]
-            target_variable[:, local_target_position] = acc
+                acc += factor * variable[source_position - source_start]
+            target_variable[local_target_position] = acc
         return target_variable