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 04b736201d43e3e0dc2f6d66e9f8b6b46485b0f1..6cdfe38d92e124798be6da976b128e9a898296a4 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
@@ -32,7 +32,8 @@ def read_npy_data(node, code_gen_dict):
             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))
+            code_gen_dict["$READNPDATA$"].append('in{} << loaded_data{}[dat];'.format(input_ind, input_ind))
+            code_gen_dict["$READNPDATA$"].append('}')
             input_ind+=1
 
 def strm_decl(node, code_gen_dict):
@@ -54,6 +55,11 @@ def strm_pragmas(node, code_gen_dict):
             input_ind += 1
         code_gen_dict["$STREAMPRAGMAS$"].append('#pragma HLS stream depth=1024 variable=out')
 
+def docompute(node, code_gen_dict):
+    code_gen_dict["$DOCOMPUTE$"]=[]
+    if node.op_type == 'StreamingMaxPool':
+        code_gen_dict["$DOCOMPUTE$"].append('{}<ImgDim, PoolDim, NumChannels>(in0, out);'.format(node.op_type))
+
 def execute(node, context, graph):
     # template for single node execution
     docompute_template= """
@@ -97,6 +103,7 @@ def execute(node, context, graph):
     read_npy_data(node, code_gen_dict)
     strm_decl(node, code_gen_dict)
     strm_pragmas(node, code_gen_dict)
+    docompute(node, code_gen_dict)
     print(code_gen_dict)
 
     print("\n\n Set up for code generation of single not in progress! \n\n")