diff --git a/packages/components/model-user/src/graphql.js b/packages/components/model-user/src/graphql.js
index 1d26c3191343eafbd08200c2d28cbef8d2988c49..1983846579d3d3ac70add0829b386ff1bd011974 100644
--- a/packages/components/model-user/src/graphql.js
+++ b/packages/components/model-user/src/graphql.js
@@ -1,18 +1,19 @@
 const logger = require('@pubsweet/logger')
-const User = require('./user')
+
+const eager = 'teams.members.[user, alias]'
 
 const resolvers = {
   Query: {
     user(_, { id }, ctx) {
-      return ctx.connectors.User.fetchOne(id, ctx)
+      return ctx.connectors.User.fetchOne(id, ctx, { eager })
     },
     users(_, { where }, ctx) {
-      return ctx.connectors.User.fetchAll(where, ctx, { eager: 'teams' })
+      return ctx.connectors.User.fetchAll(where, ctx, { eager })
     },
     // Authentication
     currentUser(_, vars, ctx) {
       if (!ctx.user) return null
-      return User.find(ctx.user)
+      return ctx.connectors.User.model.find(ctx.user)
     },
   },
   Mutation: {
@@ -33,13 +34,13 @@ const resolvers = {
       return ctx.connectors.User.update(id, input, ctx)
     },
     // Authentication
-    async loginUser(_, { input }) {
+    async loginUser(_, { input }, ctx) {
       const authentication = require('pubsweet-server/src/authentication')
 
       let isValid = false
       let user
       try {
-        user = await User.findByUsername(input.username)
+        user = await ctx.connectors.User.model.findByUsername(input.username)
         isValid = await user.validPassword(input.password)
       } catch (err) {
         logger.debug(err)