diff --git a/PythonServer/pos-python-server.py b/PythonServer/pos-python-server.py
index a7b6a1d3bcaebbbcf153bb2c0c67f07f04f3ca46..c68c2d4ee3c95026bee479127fbc8ab2e32a7c55 100755
--- a/PythonServer/pos-python-server.py
+++ b/PythonServer/pos-python-server.py
@@ -38,9 +38,10 @@ async def get_pv(pvlist: str):
     result = {}
     for pv in pvs:
         result[pv.pvname] = pv._args
-        if pv.connected:
-            pv.clear_auto_monitor()
-            pv.disconnect()
+        pv.clear_auto_monitor()
+        pv.clear_callbacks()
+        pv.disconnect()
+    del pvs
     return result