diff --git a/src/finn/transformation/fpgadataflow/derive_characteristic.py b/src/finn/transformation/fpgadataflow/derive_characteristic.py
index 6604760704437f5b00dfafe902d534a6ab7081cb..5c7a0c07eb31689e572046bddd6eafec896892f2 100644
--- a/src/finn/transformation/fpgadataflow/derive_characteristic.py
+++ b/src/finn/transformation/fpgadataflow/derive_characteristic.py
@@ -182,8 +182,12 @@ class DeriveCharacteristic(NodeLocalTransformation):
                             ret.append(ret[-1] + chrc[t % p])
                     return np.asarray(ret, dtype=np.int32)
 
-                all_txns_in = np.empty((len(txns_in.keys()), 2 * self.period))
-                all_txns_out = np.empty((len(txns_out.keys()), 2 * self.period))
+                all_txns_in = np.empty(
+                    (len(txns_in.keys()), 2 * self.period), dtype=np.int32
+                )
+                all_txns_out = np.empty(
+                    (len(txns_out.keys()), 2 * self.period), dtype=np.int32
+                )
                 all_pad_in = []
                 all_pad_out = []
                 for in_idx, in_strm_nm in enumerate(txns_in.keys()):