diff --git a/phpBB/includes/mcp/mcp_forum.php b/phpBB/includes/mcp/mcp_forum.php
index 78239698a9..097f67487d 100644
--- a/phpBB/includes/mcp/mcp_forum.php
+++ b/phpBB/includes/mcp/mcp_forum.php
@@ -423,17 +423,11 @@ function merge_topics($forum_id, $topic_ids, $to_topic_id)
$db->sql_query('DELETE FROM ' . TOPICS_WATCH_TABLE . ' WHERE ' . $db->sql_in_set('topic_id', $topic_ids));
// If the topic no longer exist, we will update the bookmarks table.
- // To not let it error out on users who bookmarked both topics, we just return on an error...
- $db->sql_return_on_error(true);
- $sql = 'UPDATE ' . BOOKMARKS_TABLE . '
- SET topic_id = ' . (int) $to_topic_id . '
- WHERE ' . $db->sql_in_set('topic_id', $topic_ids);
- $db->sql_query($sql);
- $db->sql_return_on_error(false);
-
- $sql = 'DELETE FROM ' . BOOKMARKS_TABLE . '
- WHERE ' . $db->sql_in_set('topic_id', $topic_ids);
- $db->sql_query($sql);
+ if (!function_exists('phpbb_update_rows_avoiding_duplicates'))
+ {
+ include($phpbb_root_path . 'includes/functions_database_helper.' . $phpEx);
+ }
+ phpbb_update_rows_avoiding_duplicates($db, BOOKMARKS_TABLE, 'topic_id', $topic_ids, $to_topic_id);
// Link to the new topic
$return_link .= (($return_link) ? '
' : '') . sprintf($user->lang['RETURN_NEW_TOPIC'], '', '');
diff --git a/phpBB/includes/mcp/mcp_topic.php b/phpBB/includes/mcp/mcp_topic.php
index ba11b04884..29d7a0e41b 100644
--- a/phpBB/includes/mcp/mcp_topic.php
+++ b/phpBB/includes/mcp/mcp_topic.php
@@ -671,17 +671,7 @@ function merge_posts($topic_id, $to_topic_id)
$db->sql_query('DELETE FROM ' . TOPICS_WATCH_TABLE . ' WHERE topic_id = ' . (int) $topic_id);
// If the topic no longer exist, we will update the bookmarks table.
- // To not let it error out on users who bookmarked both topics, we just return on an error...
- $db->sql_return_on_error(true);
- $sql = 'UPDATE ' . BOOKMARKS_TABLE . '
- SET topic_id = ' . (int) $to_topic_id . '
- WHERE topic_id = ' . (int) $topic_id;
- $db->sql_query($sql);
- $db->sql_return_on_error(false);
-
- $sql = 'DELETE FROM ' . BOOKMARKS_TABLE . '
- WHERE topic_id = ' . (int) $topic_id;
- $db->sql_query($sql);
+ phpbb_update_rows_avoiding_duplicates($db, BOOKMARKS_TABLE, 'topic_id', $topic_id, $to_topic_id);
}
// Link to the new topic