diff --git a/src/finn/transformation/fpgadataflow/derive_characteristic.py b/src/finn/transformation/fpgadataflow/derive_characteristic.py
index fcec750245692808d16d9123f2c7feda72e16350..82512b3f1f6b815708e85be2d2dcccb807c76f83 100644
--- a/src/finn/transformation/fpgadataflow/derive_characteristic.py
+++ b/src/finn/transformation/fpgadataflow/derive_characteristic.py
@@ -118,7 +118,10 @@ class DeriveCharacteristic(NodeLocalTransformation):
                             n_weight_inps = inst.calc_tmem()
                         else:
                             n_weight_inps = inst.calc_wmem()
-                        io_dict["inputs"]["weights"] = [0 for i in range(n_weight_inps)]
+                        num_w_reps = np.prod(inst.get_nodeattr("numInputVectors"))
+                        io_dict["inputs"]["weights"] = [
+                            0 for i in range(num_w_reps * n_weight_inps)
+                        ]
                         txns_in["weights"] = []
                 except AttributeError:
                     pass