diff --git a/src/services/following/create.ts b/src/services/following/create.ts
index e6c95a72a..a050f40b0 100644
--- a/src/services/following/create.ts
+++ b/src/services/following/create.ts
@@ -46,11 +46,19 @@ export async function insertFollowingDoc(followee: IUser, follower: IUser) {
 		}
 	});
 
-	await FollowRequest.remove({
+	const removed = await FollowRequest.remove({
 		followeeId: followee._id,
 		followerId: follower._id
 	});
 
+	if (removed.deletedCount === 1) {
+		await User.update({ _id: followee._id }, {
+			$inc: {
+				pendingReceivedFollowRequestsCount: -1
+			}
+		});
+	}
+
 	if (alreadyFollowed) return;
 
 	//#region Increment counts
diff --git a/src/services/following/requests/accept.ts b/src/services/following/requests/accept.ts
index 81ecc74ab..dec30911a 100644
--- a/src/services/following/requests/accept.ts
+++ b/src/services/following/requests/accept.ts
@@ -20,12 +20,6 @@ export default async function(followee: IUser, follower: IUser) {
 		deliver(followee as ILocalUser, content, follower.inbox);
 	}
 
-	await User.update({ _id: followee._id }, {
-		$inc: {
-			pendingReceivedFollowRequestsCount: -1
-		}
-	});
-
 	packUser(followee, followee, {
 		detail: true
 	}).then(packed => publishMainStream(followee._id, 'meUpdated', packed));