diff --git a/near-rt-ric-simulator/Dockerfile b/near-rt-ric-simulator/Dockerfile
index c23f034..0c52dc9 100644
--- a/near-rt-ric-simulator/Dockerfile
+++ b/near-rt-ric-simulator/Dockerfile
@@ -1,5 +1,6 @@
 #  ============LICENSE_START===============================================
 #  Copyright (C) 2021-2023 Nordix Foundation. All rights reserved.
+#  Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved.
 #  ========================================================================
 #  Licensed under the Apache License, Version 2.0 (the "License");
 #  you may not use this file except in compliance with the License.
@@ -17,9 +18,9 @@
 
 FROM alpine:3.17.3
 
-RUN apk add --update --no-cache python3 py3-pip nginx nginx-mod-http-lua
+RUN apk add --update --no-cache python3=3.10.13-r0 py3-pip nginx nginx-mod-http-lua
 
-RUN pip3 install connexion[swagger-ui]
+RUN pip3 install Flask==2.2.5 connexion[swagger-ui,flask,uvicorn]
 
 WORKDIR /usr/src/app
 
@@ -44,4 +45,3 @@
 
 RUN chmod +x src/start.sh
 CMD src/start.sh ${A1_VERSION}
-
diff --git a/near-rt-ric-simulator/src/OSC_2.1.0/main.py b/near-rt-ric-simulator/src/OSC_2.1.0/main.py
index 736438e..a487d88 100644
--- a/near-rt-ric-simulator/src/OSC_2.1.0/main.py
+++ b/near-rt-ric-simulator/src/OSC_2.1.0/main.py
@@ -1,5 +1,6 @@
 #  ============LICENSE_START===============================================
 #  Copyright (C) 2021-2023 Nordix Foundation. All rights reserved.
+#  Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved.
 #  ========================================================================
 #  Licensed under the Apache License, Version 2.0 (the "License");
 #  you may not use this file except in compliance with the License.
@@ -266,4 +267,4 @@
 app.add_api('openapi.yaml', resolver=RelativeResolver('controllers.a1_mediator_controller'))
 
 if __name__ == '__main__':
-  app.run(port=port_number, host="127.0.0.1", threaded=True)
\ No newline at end of file
+  app.run(port=port_number, host="127.0.0.1")
\ No newline at end of file
diff --git a/near-rt-ric-simulator/src/STD_1.1.3/main.py b/near-rt-ric-simulator/src/STD_1.1.3/main.py
index 7db215a..7cdda0c 100644
--- a/near-rt-ric-simulator/src/STD_1.1.3/main.py
+++ b/near-rt-ric-simulator/src/STD_1.1.3/main.py
@@ -1,5 +1,6 @@
 #  ============LICENSE_START===============================================
-#  Copyright (C) 2021 Nordix Foundation. All rights reserved.
+#  Copyright (C) 2023 Nordix Foundation. All rights reserved.
+#  Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved.
 #  ========================================================================
 #  Licensed under the Apache License, Version 2.0 (the "License");
 #  you may not use this file except in compliance with the License.
@@ -178,4 +179,4 @@
 app.add_api('STD_A1.yaml')
 
 if __name__ == '__main__':
-  app.run(port=port_number, host="127.0.0.1", threaded=False)
\ No newline at end of file
+  app.run(port=port_number, host="127.0.0.1")
\ No newline at end of file
diff --git a/near-rt-ric-simulator/src/STD_2.0.0/main.py b/near-rt-ric-simulator/src/STD_2.0.0/main.py
index d2ac7cb..85aa153 100644
--- a/near-rt-ric-simulator/src/STD_2.0.0/main.py
+++ b/near-rt-ric-simulator/src/STD_2.0.0/main.py
@@ -1,5 +1,6 @@
 #  ============LICENSE_START===============================================
-#  Copyright (C) 2021 Nordix Foundation. All rights reserved.
+#  Copyright (C) 2023 Nordix Foundation. All rights reserved.
+#  Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved.
 #  ========================================================================
 #  Licensed under the Apache License, Version 2.0 (the "License");
 #  you may not use this file except in compliance with the License.
@@ -255,4 +256,4 @@
 app.add_api('ORAN_A1-p_V2.0.0_api.yaml')
 
 if __name__ == '__main__':
-  app.run(port=port_number, host="127.0.0.1", threaded=False)
\ No newline at end of file
+  app.run(port=port_number, host="127.0.0.1")
\ No newline at end of file
