diff --git a/journals/migrations/0060_remove_publication_authors_registered.py b/journals/migrations/0060_remove_publication_authors_registered.py
new file mode 100644
index 0000000000000000000000000000000000000000..d4ccbb0e80a8935a5a8b52c059bdf96e50379742
--- /dev/null
+++ b/journals/migrations/0060_remove_publication_authors_registered.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.4 on 2019-04-04 20:05
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('journals', '0059_merge_20190404_2000'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='publication',
+            name='authors_registered',
+        ),
+    ]
diff --git a/journals/models.py b/journals/models.py
index d87abb019ae4a9292df94942c30b68c9548c91c2..5cea00621ba378b6b66b94feb81391d3e6070dcb 100644
--- a/journals/models.py
+++ b/journals/models.py
@@ -421,9 +421,6 @@ class Publication(models.Model):
         models.CharField(max_length=10, choices=SCIPOST_SUBJECT_AREAS), blank=True, null=True)
 
     # Authors
-    authors_registered = models.ManyToManyField('scipost.Contributor', blank=True,
-                                                through='PublicationAuthorsTable',
-                                                through_fields=('publication', 'contributor'))
     authors_claims = models.ManyToManyField('scipost.Contributor', blank=True,
                                             related_name='claimed_publications')
     authors_false_claims = models.ManyToManyField('scipost.Contributor', blank=True,
diff --git a/scipost/forms.py b/scipost/forms.py
index 300f7440a2317394bfbafb8241a46209a8162fff..f8d9999a318e263e4b595fc5cba6c34347205510 100644
--- a/scipost/forms.py
+++ b/scipost/forms.py
@@ -301,7 +301,7 @@ class UpdatePersonalDataForm(forms.ModelForm):
         and changes the orcid_id. It marks all Publications, Reports and Comments
         authored by this Contributor with a deposit_requires_update == True.
         """
-        publications = Publication.objects.filter(authors_registered=self.instance)
+        publications = Publication.objects.filter(authors__profile=self.instance.profile)
         for publication in publications:
             publication.doideposit_needs_updating = True
             publication.save()
@@ -597,10 +597,6 @@ class ContributorMergeForm(forms.Form):
         for comment in comments:
             comment.in_disagreement.remove(contrib_from)
             comment.in_disagreement.add(contrib_into)
-        publications = Publication.objects.filter(authors_registered__in=[contrib_from,]).all()
-        for publication in publications:
-            publication.authors_registered.remove(contrib_from)
-            publication.authors_registered.add(contrib_into)
         publications = Publication.objects.filter(authors_claims__in=[contrib_from,]).all()
         for publication in publications:
             publication.authors_claims.remove(contrib_from)
diff --git a/scipost/views.py b/scipost/views.py
index c1c0f843c9d054d34b75b6b88b5c1506f35fe73d..1eef87ab8c072db060be56cd5f3763272490f2ae 100644
--- a/scipost/views.py
+++ b/scipost/views.py
@@ -672,11 +672,12 @@ def _personal_page_publications(request):
     contributor = request.user.contributor
     context = {
         'contributor': contributor,
-        'own_publications': contributor.publications.published().order_by('-publication_date')
+        'own_publications': contributor.profile.publications().published(
+        ).order_by('-publication_date')
     }
     context['nr_publication_authorships_to_claim'] = Publication.objects.filter(
         author_list__contains=request.user.last_name).exclude(
-        authors_registered=contributor).exclude(
+            authors__profile=contributor.profile).exclude(
         authors_claims=contributor).exclude(
         authors_false_claims=contributor).count()
     return render(request, 'partials/scipost/personal_page/publications.html', context)
@@ -930,7 +931,7 @@ def claim_authorships(request):
 
     publication_authorships_to_claim = (Publication.objects
                                         .filter(author_list__contains=contributor.user.last_name)
-                                        .exclude(authors_registered=contributor)
+                                        .exclude(authors__profile=contributor.profile)
                                         .exclude(authors_claims=contributor)
                                         .exclude(authors_false_claims=contributor))
     pub_auth_claim_form = AuthorshipClaimForm()
@@ -1093,7 +1094,9 @@ def contributor_info(request, contributor_id):
     on the relevant name (in listing headers of Submissions, ...).
     """
     contributor = get_object_or_404(Contributor, pk=contributor_id)
-    contributor_publications = Publication.objects.published().filter(authors_registered=contributor)
+    # contributor_publications = Publication.objects.published().filter(
+    #     authors__profile=contributor.profile)
+    contributor_publications = contributor.profile.publications()
     contributor_submissions = Submission.objects.public_listed().filter(authors=contributor)
     contributor_commentaries = Commentary.objects.filter(authors=contributor)
     contributor_theses = ThesisLink.objects.vetted().filter(author_as_cont=contributor)