diff --git a/px/packages/accounts.scm b/px/packages/accounts.scm
index e8d355db07e88f336127ce02efb637e7c0b7b2b7..48e3ccf61c4090b5e24cbaed42b9ff17c770ccd8 100644
--- a/px/packages/accounts.scm
+++ b/px/packages/accounts.scm
@@ -408,34 +408,25 @@ could load from store")
 (define-public px-accounts-service-plugin-etesync
   (package
     (name "px-accounts-service-plugin-etesync")
-    (version "0.0.8")
+    (version "0.1.1")
     (source
       (origin
         (method url-fetch)
         (uri (string-append "https://source.pantherx.org/" name "_v" version ".tgz"))
-        (sha256 (base32 "1shac5s2abg9z4p2askgyinc307lm7cvyll2jl2nlygm8slkipmm"))))
+        (sha256 (base32 "16zzqh9lb5gb1yn12v48akh5rfidssxjah9f3jg8hpzy0qaca64z"))))
     (build-system python-build-system)
     (arguments
       `(#:tests? #f
         #:phases
-          (modify-phases %standard-phases
-            (add-after 'install 'register-plugin
-              (lambda* (#:key inputs outputs #:allow-other-keys)
-                (let* ((out (assoc-ref outputs "out"))
-                       (type "python")
-                       (regpath (string-append out "/etc/px/accounts/plugins"))
-                       (regdata (string-append "plugin:"
-                                               "\n  name: " ,name
-                                               "\n  version: " ,version
-                                               "\n  type: " type
-                                               "\n  path: " out
-                                               "\n")))
-                  (display regdata)
-                  (mkdir-p regpath)
-                  (with-output-to-file (string-append regpath "/" ,name ".yaml")
-                    (lambda _ (format #t regdata)))))))))
+        (modify-phases %standard-phases
+          (add-after 'unpack 'patch-version
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (substitute* (string-append "plugins/" ,name ".yaml")
+                          (("PLUGIN_PATH") (assoc-ref outputs "out"))
+                          (("PLUGIN_VERSION") ,version)))))))
     (native-inputs `(("python-setuptools" , python-setuptools)))
-    (propagated-inputs `(("px-etesync-dav" ,px-etesync-dav)
+    (propagated-inputs `(("etesync-dav" ,etesync-dav)
+                         ("px-contacts-calendar" ,px-contacts-calendar)
                          ("python-etesync" ,python-etesync)))
     (home-page "https://www.pantherx.org/")
     (synopsis "EteSync Plugin for Online Accounts Service")
diff --git a/px/packages/contacts-calendar.scm b/px/packages/contacts-calendar.scm
index e64c73e1c4019d8d3e6e957ff52556328e0b0dbd..37944c2688ff2321b3f84feb52230ca87019eeb4 100644
--- a/px/packages/contacts-calendar.scm
+++ b/px/packages/contacts-calendar.scm
@@ -36,19 +36,19 @@
 (define-public px-contacts-calendar
   (package
     (name "px-contacts-calendar")
-    (version "0.3.2")
+    (version "0.3.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://source.pantherx.org/px-contacts-calendar_v" version ".tgz"))
        (sha256
-        (base32 "1zbwrkc1h0llhc95gqa217jiv3ji5a822hy1bbgr4cl8zh5k3a1p"))))
+        (base32 "0xyadni31b8nd8b12aqfhyxqa6wmg12b3rzqfbl7a114fbdphgps"))))
     (build-system python-build-system)
     (arguments
      '(#:tests? #f))
     (inputs
       `(("etesync-dav" ,etesync-dav)
-        ("python-cryptography" ,python-cryptography-3.1.1)
+        ("python-cryptography" ,python-cryptography)
         ("python-etebase" ,python-etebase)
         ("python-exitstatus-2.0.1" ,python-exitstatus-2.0.1)
         ("python-lxml" ,python-lxml)
diff --git a/px/packages/etesync.scm b/px/packages/etesync.scm
index 10d403198e9715257eaec49e607ffcc39d23f753..481598d8e6848820f47b6f3d285b02f713a40e4b 100644
--- a/px/packages/etesync.scm
+++ b/px/packages/etesync.scm
@@ -19,7 +19,8 @@
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages time)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (px packages python-xyz))
 
 (define-public python-etebase
   (package
@@ -78,7 +79,7 @@
 ;; -------------------------------------------------------------------------------- UPDATE PACKAGES
 ;; SHOULD BE SENT TO UPSTREAM
 
-(define-public python-wtforms
+(define-public python-wtforms-2.3.1
   (package
     (name "python-wtforms")
     (version "2.3.1")
@@ -230,6 +231,7 @@ It currently implements AddressBook and Calendar access, and supports two-way sy
         ("python-defusedxml" ,python-defusedxml)
         ("python-etebase" ,python-etebase)
         ("python-etesync" ,python-etesync)
+        ("python-exitstatus" ,python-exitstatus-2.0.1)
         ("python-flask" ,python-flask)
         ("python-furl" ,python-furl)
         ("python-idna" ,python-idna)