Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/7028
Supersedes https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/6885.