diff --git a/public/language/en-GB/topic.json b/public/language/en-GB/topic.json
index a52091035a..c7b0630d6c 100644
--- a/public/language/en-GB/topic.json
+++ b/public/language/en-GB/topic.json
@@ -66,6 +66,8 @@
"user-restored-topic-on": "%1 restored this topic on %2",
"user-moved-topic-from-ago": "%1 moved this topic from %2 %3",
"user-moved-topic-from-on": "%1 moved this topic from %2 on %3",
+ "user-shared-topic-ago": "%1 shared this topic %2",
+ "user-shared-topic-on": "%1 shared this topic on %2",
"user-queued-post-ago": "%1 queued post for approval %3",
"user-queued-post-on": "%1 queued post for approval on %3",
"user-referenced-topic-ago": "%1 referenced this topic %3",
diff --git a/src/topics/events.js b/src/topics/events.js
index 7b0c7c5a37..04dfe9b4d5 100644
--- a/src/topics/events.js
+++ b/src/topics/events.js
@@ -56,6 +56,10 @@ Events._types = {
icon: 'fa-arrow-circle-right',
translation: async (event, language) => translateEventArgs(event, language, 'topic:user-moved-topic-from', renderUser(event), `${event.fromCategory.name}`, renderTimeago(event)),
},
+ share: {
+ icon: 'fa-share-alt',
+ translation: async (event, language) => translateEventArgs(event, language, 'topic:user-shared-topic', renderUser(event), renderTimeago(event)),
+ },
'post-queue': {
icon: 'fa-history',
translation: async (event, language) => translateEventArgs(event, language, 'topic:user-queued-post', renderUser(event), `${relative_path}${event.href}`, renderTimeago(event)),
diff --git a/src/topics/tools.js b/src/topics/tools.js
index e403383295..039655a592 100644
--- a/src/topics/tools.js
+++ b/src/topics/tools.js
@@ -283,7 +283,7 @@ module.exports = function (Topics) {
oldCid: oldCid,
}),
Topics.updateCategoryTagsCount([oldCid, cid], tags),
- Topics.events.log(tid, { type: 'move', uid: data.uid, fromCid: oldCid }),
+ Topics.events.log(tid, { type: oldCid === -1 ? 'share' : 'move', uid: data.uid, fromCid: oldCid }),
]);
// Update entry in recent topics zset — must come after hash update