diff --git a/docs/fcos.md b/docs/fcos.md
index 238bdf4cf57c39ec068829602bf7e05f7117ed62..c1fe4b7afeb33ea57ebb17c4df46e65b9d279591 100644
--- a/docs/fcos.md
+++ b/docs/fcos.md
@@ -1,6 +1,6 @@
 # Fedora CoreOS
 
-Tested with stable version 34.20210611.3.0
+Tested with stable version 37.20230322.3.0
 
 Because package installation with `rpm-ostree` requires a reboot, playbook may fail while bootstrap.
 Restart playbook again.
diff --git a/roles/container-engine/cri-o/tasks/main.yaml b/roles/container-engine/cri-o/tasks/main.yaml
index 2d45e653fa01515d99bdc9c1c472f56ca9696550..d6c7eb0991dc1351dec531185149502e85f1d402 100644
--- a/roles/container-engine/cri-o/tasks/main.yaml
+++ b/roles/container-engine/cri-o/tasks/main.yaml
@@ -90,6 +90,13 @@
     remote_src: true
   notify: restart crio
 
+- name: cri-o | update the bin dir for crio.service file
+  replace:
+    dest: /etc/systemd/system/crio.service
+    regexp: "/usr/local/bin/crio"
+    replace: "{{ bin_dir }}/crio"
+  notify: restart crio
+
 - name: cri-o | copy default policy
   copy:
     src: "{{ local_release_dir }}/cri-o/contrib/policy.json"
diff --git a/roles/container-engine/cri-o/templates/crio.conf.j2 b/roles/container-engine/cri-o/templates/crio.conf.j2
index 177d2a3f51c0bf2ade3aa149a7cde97ed6cea07d..8409feacbc934dabbabf74717334498b23984f7f 100644
--- a/roles/container-engine/cri-o/templates/crio.conf.j2
+++ b/roles/container-engine/cri-o/templates/crio.conf.j2
@@ -269,7 +269,11 @@ manage_ns_lifecycle = false
 namespaces_dir = "/var/run"
 
 # pinns_path is the path to find the pinns binary, which is needed to manage namespace lifecycle
+{% if bin_dir == "/usr/local/bin" %}
 pinns_path = ""
+{% else %}
+pinns_path = "{{ bin_dir }}/pinns"
+{% endif %}
 
 # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
 # The runtime to use is picked based on the runtime_handler provided by the CRI.