diff --git a/roles/bootstrap-os/files/runner b/roles/bootstrap-os/files/runner
deleted file mode 100644
index f0f689f18aec5b275825e38b5a0321aa5f624072..0000000000000000000000000000000000000000
--- a/roles/bootstrap-os/files/runner
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-BINDIR="/opt/bin"
-LD_LIBRARY_PATH=$BINDIR/pypy3/lib:$LD_LIBRARY_PATH $BINDIR/pypy3/bin/$(basename $0) $@
diff --git a/roles/bootstrap-os/tasks/bootstrap-coreos.yml b/roles/bootstrap-os/tasks/bootstrap-coreos.yml
index 182fc39fbc450e715671898bab6007061c1ce940..0cd318d6efd128fdcd7df80918a78574784547be 100644
--- a/roles/bootstrap-os/tasks/bootstrap-coreos.yml
+++ b/roles/bootstrap-os/tasks/bootstrap-coreos.yml
@@ -23,27 +23,19 @@
   tags:
     - facts
 
-- name: Bootstrap | Check if we need to install pip
-  shell: "pip3 --version"
-  register: need_pip
-  failed_when: false
-  changed_when: false
-  check_mode: no
-  tags:
-    - facts
-  environment:
-    PATH: "{{ ansible_env.PATH }}:{{ bin_dir }}"
-
-- name: Bootstrap | Install pip
-  shell: "{{ ansible_python_interpreter }} -m ensurepip"
-  when: need_pip.rc != 0
-
-- name: Bootstrap | Install pip launcher
-  copy:
-    src: runner
+- name: Bootstrap | Install pip3
+  command: "{{ ansible_python_interpreter }} -m ensurepip"
+  args:
+    creates: "{{ bin_dir }}/pypy3/bin/pip3"
+  register: pip_installed
+
+- name: Bootstrap | Install pip3 link
+  file:
+    src: "{{ bin_dir }}/pypy3/bin/pip3"
     dest: "{{ bin_dir }}/pip3"
     mode: 0755
-  when: need_pip.rc != 0
+    state: link
+  when: pip_installed.changed
 
 - name: Install required python modules
   pip: