diff --git a/src/finn/backend/fpgadataflow/code_gen_for_single_node_execution.py b/src/finn/backend/fpgadataflow/code_gen_for_single_node_execution.py
index 37f387c5c21712ca5e9cbc665d34d2320fdb2b9c..04b736201d43e3e0dc2f6d66e9f8b6b46485b0f1 100644
--- a/src/finn/backend/fpgadataflow/code_gen_for_single_node_execution.py
+++ b/src/finn/backend/fpgadataflow/code_gen_for_single_node_execution.py
@@ -28,7 +28,11 @@ def read_npy_data(node, code_gen_dict):
         for input_file in input_file_names:
             code_gen_dict["$READNPDATA$"].append('cnpy::NpyArray arr = cnpy::npy_load("{}");\n float* loaded_data{} = arr.data<float>();'.format(input_file, input_ind))
             code_gen_dict["$READNPDATA$"].append('int num_values = 1; \n for(int i = 0; i < arr.shape.size(); i++){\n num_values *= arr.shape[i]; \n }')
-
+            code_gen_dict["$READNPDATA$"].append('ap_uint<{}> dat;'.format(NumChannels))
+            code_gen_dict["$READNPDATA$"].append('for(int i=0; i < num_values; i+=2){')
+            for channel in range(NumChannels):
+                    code_gen_dict["$READNPDATA$"].append('dat.range({},{}) = loaded_data{}[i+{}];'.format(channel, channel, input_ind, channel))
+            code_gen_dict["$READNPDATA$"].append('in{} << loaded_data[dat];\n }'.format(input_ind))
             input_ind+=1
 
 def strm_decl(node, code_gen_dict):
diff --git a/tests/layer_streaming_maxpool.cpp b/tests/layer_streaming_maxpool.cpp
index 4b2455ef61cf81a05dacb010aa56327202bc9aae..c3964d500382aa1f344c4ae7d5e718ddf73e89d8 100755
--- a/tests/layer_streaming_maxpool.cpp
+++ b/tests/layer_streaming_maxpool.cpp
@@ -22,7 +22,6 @@ int main(){
 
 	hls::stream<ap_uint<2>> in ("in");
 	hls::stream<ap_uint<2>> out ("out");
-	ap_uint<2> in_data;
 	#pragma HLS DATAFLOW
 	#pragma HLS stream depth=1024 variable=in
 	#pragma HLS stream depth=1024 variable=out