diff --git a/unix/operations.lisp b/unix/operations.lisp
index 25f291a..735a8df 100644
--- a/unix/operations.lisp
+++ b/unix/operations.lisp
@@ -43,9 +43,15 @@
;; User
+(defun sync-groups ()
+ (do-resources (res) (current-host)
+ (when (typep res 'group)
+ (sync res))))
+
(defmethod op-update-user ((user user) (os os-unix)
&key ensure uid gid realname home shell
login-class groups)
+ (sync-groups)
(run-as-root
(join-str " "
(ecase ensure