diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientVersioningManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientVersioningManager.java
index b8be969f48f92f69e6651884caee50e26b003f4a..f15528d5ce431917a0249006b1e3b9179cebe341 100644
--- a/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientVersioningManager.java
+++ b/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientVersioningManager.java
@@ -22,17 +22,11 @@ public interface ClientVersioningManager {
 	int MAJOR_VERSION = 0;
 
 	/**
-	 * Registers a client that will be advertised to contacts. This method
-	 * should be called before {@link LifecycleManager#startServices(String)}.
+	 * Registers a client that will be advertised to contacts. The hook will
+	 * be called when the visibility of the client changes. This method should
+	 * be called before {@link LifecycleManager#startServices(String)}.
 	 */
-	void registerClient(ClientId clientId, int majorVersion, int minorVersion);
-
-	/**
-	 * Registers a hook that will be called when the visibility of the given
-	 * client changes. This method should be called before
-	 * {@link LifecycleManager#startServices(String)}.
-	 */
-	void registerClientVersioningHook(ClientId clientId, int majorVersion,
+	void registerClient(ClientId clientId, int majorVersion, int minorVersion,
 			ClientVersioningHook hook);
 
 	/**
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/properties/PropertiesModule.java b/bramble-core/src/main/java/org/briarproject/bramble/properties/PropertiesModule.java
index d2d1b6324bbd1d146f2c98816f9171f0f57b0250..c6d2dbaf97fa61c2c065f2f8e4f0c1649f7da3df 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/properties/PropertiesModule.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/properties/PropertiesModule.java
@@ -53,9 +53,7 @@ public class PropertiesModule {
 				transportPropertyManager);
 		contactManager.registerContactHook(transportPropertyManager);
 		clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
-				MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(CLIENT_ID,
-				MAJOR_VERSION, transportPropertyManager);
+				MINOR_VERSION, transportPropertyManager);
 		return transportPropertyManager;
 	}
 }
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java
index 653b72af534558fbdfc0c40bdaaf5cb32730039b..6c9191f29f177f3eedbb12d608b1a545d826e1d0 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java
@@ -80,14 +80,9 @@ class ClientVersioningManagerImpl implements ClientVersioningManager, Client,
 
 	@Override
 	public void registerClient(ClientId clientId, int majorVersion,
-			int minorVersion) {
+			int minorVersion, ClientVersioningHook hook) {
 		clients.add(new ClientMinorVersion(clientId, majorVersion,
 				minorVersion));
-	}
-
-	@Override
-	public void registerClientVersioningHook(ClientId clientId,
-			int majorVersion, ClientVersioningHook hook) {
 		hooks.put(new ClientVersion(clientId, majorVersion), hook);
 	}
 
diff --git a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionModule.java b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionModule.java
index 17d08cd185c3379c95a0c3656f1f717cb91367d7..e959f4ca5bbe6e2b1303ea5fcb042f1494463f19 100644
--- a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionModule.java
+++ b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionModule.java
@@ -57,9 +57,7 @@ public class IntroductionModule {
 				MAJOR_VERSION, introductionManager);
 		conversationManager.registerConversationClient(introductionManager);
 		clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
-				MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(CLIENT_ID,
-				MAJOR_VERSION, introductionManager);
+				MINOR_VERSION, introductionManager);
 		return introductionManager;
 	}
 
diff --git a/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingModule.java b/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingModule.java
index 8363ef3931109cf7509f560b86288bb98ade408e..80ba2578a79f5368e97778ac37604bccf821145e 100644
--- a/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingModule.java
+++ b/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingModule.java
@@ -64,9 +64,7 @@ public class MessagingModule {
 				messagingManager);
 		conversationManager.registerConversationClient(messagingManager);
 		clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
-				MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(CLIENT_ID,
-				MAJOR_VERSION, messagingManager);
+				MINOR_VERSION, messagingManager);
 		return messagingManager;
 	}
 
diff --git a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationModule.java b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationModule.java
index 03f0ed6788bb7bba9ea01163dde88f4646826cc4..1ae6ceb74da6b54ddc66e8eda9e18036bb0e1dc3 100644
--- a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationModule.java
+++ b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationModule.java
@@ -49,17 +49,12 @@ public class GroupInvitationModule {
 		privateGroupManager.registerPrivateGroupHook(groupInvitationManager);
 		conversationManager.registerConversationClient(groupInvitationManager);
 		clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
-				MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(CLIENT_ID,
-				MAJOR_VERSION, groupInvitationManager);
+				MINOR_VERSION, groupInvitationManager);
 		// The group invitation manager handles client visibility changes for
 		// the private group manager
 		clientVersioningManager.registerClient(PrivateGroupManager.CLIENT_ID,
 				PrivateGroupManager.MAJOR_VERSION,
-				PrivateGroupManager.MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(
-				PrivateGroupManager.CLIENT_ID,
-				PrivateGroupManager.MAJOR_VERSION,
+				PrivateGroupManager.MINOR_VERSION,
 				groupInvitationManager.getPrivateGroupClientVersioningHook());
 		return groupInvitationManager;
 	}
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingModule.java b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingModule.java
index b58bc246ab28fbe7f277ba5022423e5384ebec71..296511ec3014d91790d535a282b98fc3145c1f56 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingModule.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingModule.java
@@ -85,16 +85,11 @@ public class SharingModule {
 		blogManager.registerRemoveBlogHook(blogSharingManager);
 		clientVersioningManager.registerClient(BlogSharingManager.CLIENT_ID,
 				BlogSharingManager.MAJOR_VERSION,
-				BlogSharingManager.MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(
-				BlogSharingManager.CLIENT_ID, BlogSharingManager.MAJOR_VERSION,
-				blogSharingManager);
+				BlogSharingManager.MINOR_VERSION, blogSharingManager);
 		// The blog sharing manager handles client visibility changes for the
 		// blog manager
 		clientVersioningManager.registerClient(BlogManager.CLIENT_ID,
-				BlogManager.MAJOR_VERSION, BlogManager.MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(
-				BlogManager.CLIENT_ID, BlogManager.MAJOR_VERSION,
+				BlogManager.MAJOR_VERSION, BlogManager.MINOR_VERSION,
 				blogSharingManager.getShareableClientVersioningHook());
 		return blogSharingManager;
 	}
@@ -149,16 +144,11 @@ public class SharingModule {
 		forumManager.registerRemoveForumHook(forumSharingManager);
 		clientVersioningManager.registerClient(ForumSharingManager.CLIENT_ID,
 				ForumSharingManager.MAJOR_VERSION,
-				ForumSharingManager.MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(
-				ForumSharingManager.CLIENT_ID,
-				ForumSharingManager.MAJOR_VERSION, forumSharingManager);
+				ForumSharingManager.MINOR_VERSION, forumSharingManager);
 		// The forum sharing manager handles client visibility changes for the
 		// forum manager
 		clientVersioningManager.registerClient(ForumManager.CLIENT_ID,
-				ForumManager.MAJOR_VERSION, ForumManager.MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(
-				ForumManager.CLIENT_ID, ForumManager.MAJOR_VERSION,
+				ForumManager.MAJOR_VERSION, ForumManager.MINOR_VERSION,
 				forumSharingManager.getShareableClientVersioningHook());
 		return forumSharingManager;
 	}