diff --git a/NEWS.rst b/NEWS.rst
index 8ffb3e012ba702063757813a24b29a0c0ea27606_TkVXUy5yc3Q=..b79256b2eefd00ebe05462f6e1b610a7ab4a75f4_TkVXUy5yc3Q= 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -11,6 +11,8 @@
 
 Changed following base image changes.
 
+Make start-py3o option work again.
+
 8.0.1
 -----
 
diff --git a/odoo_scripts/docker_py3o.py b/odoo_scripts/docker_py3o.py
index 8ffb3e012ba702063757813a24b29a0c0ea27606_b2Rvb19zY3JpcHRzL2RvY2tlcl9weTNvLnB5..b79256b2eefd00ebe05462f6e1b610a7ab4a75f4_b2Rvb19zY3JpcHRzL2RvY2tlcl9weTNvLnB5 100644
--- a/odoo_scripts/docker_py3o.py
+++ b/odoo_scripts/docker_py3o.py
@@ -33,7 +33,10 @@
     fusion_name = "py3o_fusion"
     fusion_image = "{}:{}".format(fusion_repository, fusion_version)
     try:
-        docker_client.pull(repository=fusion_repository, tag=fusion_version)
+        _logger.debug("Pulling %s", fusion_repository)
+        docker_client.images.pull(
+            repository=fusion_repository, tag=fusion_version
+        )
     except Exception as e:
         _logger.warning("Exception when trying to pull: %s", e)
     if any(
@@ -37,10 +40,10 @@
     except Exception as e:
         _logger.warning("Exception when trying to pull: %s", e)
     if any(
-        "/{}".format(fusion_name) in container["Names"]
-        for container in docker_client.containers()
+        fusion_name == container.name
+        for container in docker_client.containers.list()
     ):
         _logger.debug("%s Container already running", fusion_name)
         remove_and_stop(docker_client, fusion_name)
     # TODO handle --host-network option
     port_bindings = {8765: host_fusion_port}
@@ -42,9 +45,6 @@
     ):
         _logger.debug("%s Container already running", fusion_name)
         remove_and_stop(docker_client, fusion_name)
     # TODO handle --host-network option
     port_bindings = {8765: host_fusion_port}
-    host_config = docker_client.create_host_config(
-        binds=[], port_bindings=port_bindings
-    )
     _logger.debug("Starting %s container", fusion_name)
@@ -50,5 +50,5 @@
     _logger.debug("Starting %s container", fusion_name)
-    fusion = docker_client.create_container(
-        image=fusion_image, host_config=host_config, name=fusion_name
+    fusion = docker_client.containers.create(
+        image=fusion_image, ports=port_bindings, name=fusion_name
     )
     _logger.debug("Starting %s container", fusion_name)
@@ -53,5 +53,5 @@
     )
     _logger.debug("Starting %s container", fusion_name)
-    docker_client.start(container=fusion.get("Id"))
+    fusion.start()
 
     def stop_py3o():
@@ -56,10 +56,11 @@
 
     def stop_py3o():
-        # TODO test if still exists
-        _logger.info("Stopping fusion")
-        docker_client.stop(fusion.get("Id"))
-        _logger.info("Removing containers")
-        docker_client.remove_container(fusion.get("Id"))
+        # TODO test if still exists (no error if already stopped)
+        _logger.info("Stopping fusion container")
+        fusion.stop()
+        fusion.wait()
+        _logger.info("Removing fusion container")
+        fusion.remove()
 
     if stop_at_exit:
         atexit.register(stop_py3o)