diff --git a/scipost/migrations/0065_authorshipclaim_publication.py b/scipost/migrations/0065_authorshipclaim_publication.py
new file mode 100644
index 0000000000000000000000000000000000000000..086e6116addd08a9916f7e3dda269cd5866808c0
--- /dev/null
+++ b/scipost/migrations/0065_authorshipclaim_publication.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.4 on 2017-09-10 13:46
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('journals', '0044_publication_doideposit_needs_updating'),
+        ('scipost', '0064_auto_20170909_1649'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='authorshipclaim',
+            name='publication',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='journals.Publication'),
+        ),
+    ]
diff --git a/scipost/models.py b/scipost/models.py
index d6cac15fd9be45affe5c0bfbe9e9ba47ace74861..464042a55dba7407b8fdd9fa1048be4979eaac01 100644
--- a/scipost/models.py
+++ b/scipost/models.py
@@ -248,6 +248,9 @@ class AuthorshipClaim(models.Model):
     claimant = models.ForeignKey(Contributor,
                                  on_delete=models.CASCADE,
                                  related_name='claimant')
+    publication = models.ForeignKey('journals.Publication',
+                                    on_delete=models.CASCADE,
+                                    blank=True, null=True)
     submission = models.ForeignKey('submissions.Submission',
                                    on_delete=models.CASCADE,
                                    blank=True, null=True)
diff --git a/scipost/templates/scipost/claim_authorships.html b/scipost/templates/scipost/claim_authorships.html
index 2630c6844582f8b7e476ad2063d3884044977a44..00f7afdfcaf171b0578e5fadeac8a55eca09cf19 100644
--- a/scipost/templates/scipost/claim_authorships.html
+++ b/scipost/templates/scipost/claim_authorships.html
@@ -14,6 +14,34 @@
     </div>
 </div>
 
+{% if publication_authorships_to_claim %}
+    <div class="row">
+        <div class="col-12">
+            <h2 class="highlight">SciPost Publications</h2>
+            <h3>Potential authorships to claim (auto-detected)</h3>
+        </div>
+    </div>
+    <div class="row">
+        <div class="col-12">
+            {% for pub in publication_authorships_to_claim %}
+                <div class="card">
+                  {% include 'journals/_publication_card_content.html' with publication=pub %}
+                    <div class="card-footer">
+                        <form class="d-inline-block" action="{% url 'scipost:claim_pub_authorship' publication_id=pub.id claim=1 %}" method="post">
+                            {% csrf_token %}
+                            <input class="btn btn-secondary" type="submit" value="I am an author" />
+                        </form>
+                        <form class="d-inline-block ml-1" action="{% url 'scipost:claim_pub_authorship' publication_id=pub.id claim=0 %}" method="post">
+                            {% csrf_token %}
+                            <input class="btn btn-danger" type="submit" value="I am not an author" />
+                        </form>
+                    </div>
+                </div>
+            {% endfor %}
+        </div>
+    </div>
+{% endif %}
+
 {% if submission_authorships_to_claim %}
     <div class="row">
         <div class="col-12">
@@ -42,6 +70,7 @@
     </div>
 {% endif %}
 
+
 {% if commentary_authorships_to_claim %}
     <div class="row">
         <div class="col-12">
diff --git a/scipost/templates/scipost/personal_page.html b/scipost/templates/scipost/personal_page.html
index b75cd60e232620161adbf8608c10400fdadfca47..7e23f9373652f455074b5ea463f54daefa98253e 100644
--- a/scipost/templates/scipost/personal_page.html
+++ b/scipost/templates/scipost/personal_page.html
@@ -48,6 +48,9 @@
                             <a class="nav-link" data-toggle="tab" href="#refereeing">Refereeing {% if refereeing_tab_total_count %}({{refereeing_tab_total_count}}){% endif %}</a>
                           </li>
                       {% endif %}
+                      <li class="nav-item btn btn-secondary">
+                        <a class="nav-link" data-toggle="tab" href="#publications">Publications</a>
+                      </li>
                       <li class="nav-item btn btn-secondary">
                         <a class="nav-link" data-toggle="tab" href="#submissions">Submissions</a>
                       </li>
@@ -372,7 +375,47 @@
 	    </div>
 	    {% endif %}
 
-        {% if perms.scipost.can_referee %}
+        <!-- Tab: Publications -->
+        <div class="tab-pane" id="publications" role="tabpanel">
+            <div class="row">
+                <div class="col-12">
+                    <div class="card card-grey">
+                        <div class="card-body">
+                            <h2 class="card-title">Publications</h2>
+                            <ul class="mb-0">
+                                {% if nr_publication_authorships_to_claim > 0 %}
+                                    <li><a href="{% url 'scipost:claim_authorships' %}">Potential authorships to claim (auto-detected: {{ nr_publication_authorships_to_claim}})</a></li>
+                                {% endif %}
+                            </ul>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+            {# {% if own_publications %}#}
+            <div class="row" id="mypublicationslist">
+                <div class="col-12">
+                    <h3>Publications for which you are identified as an author:</h3>
+                </div>
+                <div class="col-12">
+                    <ul class="list-group list-group-flush">
+                        {% for pub in own_publications %}
+                            <li class="list-group-item">
+                                {% include 'journals/_publication_card_content.html' with publication=pub current_user=request.user %}
+                            </li>
+                        {% empty %}
+                            <li class="list-group-item">
+                                <em>No Publications found</em>
+                            </li>
+                        {% endfor %}
+                    </ul>
+                </div>
+            </div>
+            {# {% endif %}#}
+        </div><!-- End tab -->
+
+
+            {% if perms.scipost.can_referee %}
             <!-- Tab: Refereeing -->
             <div class="tab-pane" id="refereeing" role="tabpanel">
                 <div class="row">
diff --git a/scipost/templates/scipost/vet_authorship_claims.html b/scipost/templates/scipost/vet_authorship_claims.html
index b43041b92c80bee7be604c8ae23bed3128da8205..7d09ae462f9b3c38a20b0ac0a1bd88a8a7f444a2 100644
--- a/scipost/templates/scipost/vet_authorship_claims.html
+++ b/scipost/templates/scipost/vet_authorship_claims.html
@@ -1,5 +1,7 @@
 {% extends 'scipost/_personal_page_base.html' %}
 
+{% load bootstrap %}
+
 {% block breadcrumb_items %}
     {{block.super}}
     <span class="breadcrumb-item">Vet authorship claims</span>
@@ -34,7 +36,12 @@
     {% for claim in claims_to_vet %}
         <li class="list-group-item">
             <div class="card w-100">
-                {% if claim.submission %}
+                {% if claim.publication %}
+                    <div class="card-header">
+                        <h4>Contributor {{ claim.claimant.user.first_name }} {{ claim.claimant.user.last_name }} claims to be an author of Publication:</h4>
+                    </div>
+                    {% include 'journals/_publication_card_content.html' with publication=claim.publication %}
+                {% elif claim.submission %}
                     <div class="card-header">
                         <h4>Contributor {{ claim.claimant.user.first_name }} {{ claim.claimant.user.last_name }} claims to be an author of Submission:</h4>
                     </div>
diff --git a/scipost/urls.py b/scipost/urls.py
index e67452102c333fe77542e5a64e4fc24cf28e22dd..f3af0c4a67bc30f8a0c836d7f4692467359db08a 100644
--- a/scipost/urls.py
+++ b/scipost/urls.py
@@ -145,6 +145,8 @@ urlpatterns = [
 
     # Authorship claims
     url(r'^claim_authorships$', views.claim_authorships, name="claim_authorships"),
+    url(r'^claim_pub_authorship/(?P<publication_id>[0-9]+)/(?P<claim>[0-1])$',
+        views.claim_pub_authorship, name='claim_pub_authorship'),
     url(r'^claim_sub_authorship/(?P<submission_id>[0-9]+)/(?P<claim>[0-1])$',
         views.claim_sub_authorship, name='claim_sub_authorship'),
     url(r'^claim_com_authorship/(?P<commentary_id>[0-9]+)/(?P<claim>[0-1])$',
diff --git a/scipost/views.py b/scipost/views.py
index 30d8031d02e0457ad6bd781490dc0aa8009e4ec6..5c09fe3e60b3b05544df1ba5244b9039ef2286a0 100644
--- a/scipost/views.py
+++ b/scipost/views.py
@@ -752,11 +752,20 @@ def personal_page(request):
 
     # Verify if there exist objects authored by this contributor,
     # whose authorship hasn't been claimed yet
+    own_publications = (Publication.objects
+                       .filter(authors__in=[contributor])
+                       .order_by('-publication_date'))
     own_submissions = (Submission.objects
                        .filter(authors__in=[contributor], is_current=True)
                        .order_by('-submission_date'))
     own_commentaries = Commentary.objects.filter(authors=contributor).order_by('-latest_activity')
     own_thesislinks = ThesisLink.objects.filter(author_as_cont__in=[contributor])
+    nr_publication_authorships_to_claim = (Publication.objects.filter(
+        author_list__contains=contributor.user.last_name)
+                                          .exclude(authors__in=[contributor])
+                                          .exclude(authors_claims__in=[contributor])
+                                          .exclude(authors_false_claims__in=[contributor])
+                                          .count())
     nr_submission_authorships_to_claim = (Submission.objects.filter(
         author_list__contains=contributor.user.last_name)
                                           .exclude(authors__in=[contributor])
@@ -799,12 +808,14 @@ def personal_page(request):
         'nr_recommendations_to_prepare_for_voting': nr_recommendations_to_prepare_for_voting,
         'nr_assignments_to_consider': nr_assignments_to_consider,
         'active_assignments': active_assignments,
+        'nr_publication_authorships_to_claim': nr_publication_authorships_to_claim,
         'nr_submission_authorships_to_claim': nr_submission_authorships_to_claim,
         'nr_commentary_authorships_to_claim': nr_commentary_authorships_to_claim,
         'nr_thesis_authorships_to_claim': nr_thesis_authorships_to_claim,
         'nr_ref_inv_to_consider': nr_ref_inv_to_consider,
         'pending_ref_tasks': pending_ref_tasks,
         'refereeing_tab_total_count': refereeing_tab_total_count,
+        'own_publications': own_publications,
         'own_submissions': own_submissions,
         'own_commentaries': own_commentaries,
         'own_thesislinks': own_thesislinks,
@@ -900,6 +911,12 @@ def claim_authorships(request):
     """
     contributor = Contributor.objects.get(user=request.user)
 
+    publication_authorships_to_claim = (Publication.objects
+                                       .filter(author_list__contains=contributor.user.last_name)
+                                       .exclude(authors__in=[contributor])
+                                       .exclude(authors_claims__in=[contributor])
+                                       .exclude(authors_false_claims__in=[contributor]))
+    pub_auth_claim_form = AuthorshipClaimForm()
     submission_authorships_to_claim = (Submission.objects
                                        .filter(author_list__contains=contributor.user.last_name)
                                        .exclude(authors__in=[contributor])
@@ -919,16 +936,35 @@ def claim_authorships(request):
                                    .exclude(author_false_claims__in=[contributor]))
     thesis_auth_claim_form = AuthorshipClaimForm()
 
-    context = {'submission_authorships_to_claim': submission_authorships_to_claim,
-               'sub_auth_claim_form': sub_auth_claim_form,
-               'commentary_authorships_to_claim': commentary_authorships_to_claim,
-               'com_auth_claim_form': com_auth_claim_form,
-               'thesis_authorships_to_claim': thesis_authorships_to_claim,
-               'thesis_auth_claim_form': thesis_auth_claim_form,
-               }
+    context = {
+        'publication_authorships_to_claim': publication_authorships_to_claim,
+        'pub_auth_claim_form': pub_auth_claim_form,
+        'submission_authorships_to_claim': submission_authorships_to_claim,
+        'sub_auth_claim_form': sub_auth_claim_form,
+        'commentary_authorships_to_claim': commentary_authorships_to_claim,
+        'com_auth_claim_form': com_auth_claim_form,
+        'thesis_authorships_to_claim': thesis_authorships_to_claim,
+        'thesis_auth_claim_form': thesis_auth_claim_form,
+    }
     return render(request, 'scipost/claim_authorships.html', context)
 
 
+@login_required
+@user_passes_test(has_contributor)
+def claim_pub_authorship(request, publication_id, claim):
+    if request.method == 'POST':
+        contributor = Contributor.objects.get(user=request.user)
+        publication = get_object_or_404(Publication, pk=publication_id)
+        if claim == '1':
+            publication.authors_claims.add(contributor)
+            newclaim = AuthorshipClaim(claimant=contributor, publication=publication)
+            newclaim.save()
+        elif claim == '0':
+            publication.authors_false_claims.add(contributor)
+        publication.save()
+    return redirect('scipost:claim_authorships')
+
+
 @login_required
 @user_passes_test(has_contributor)
 def claim_sub_authorship(request, submission_id, claim):
@@ -990,6 +1026,15 @@ def vet_authorship_claim(request, claim_id, claim):
         vetting_contributor = Contributor.objects.get(user=request.user)
         claim_to_vet = AuthorshipClaim.objects.get(pk=claim_id)
 
+        if claim_to_vet.publication is not None:
+            claim_to_vet.publication.authors_claims.remove(claim_to_vet.claimant)
+            if claim == '1':
+                claim_to_vet.publication.authors.add(claim_to_vet.claimant)
+                claim_to_vet.status = '1'
+            elif claim == '0':
+                claim_to_vet.publication.authors_false_claims.add(claim_to_vet.claimant)
+                claim_to_vet.status = '-1'
+            claim_to_vet.publication.save()
         if claim_to_vet.submission is not None:
             claim_to_vet.submission.authors_claims.remove(claim_to_vet.claimant)
             if claim == '1':
@@ -998,7 +1043,7 @@ def vet_authorship_claim(request, claim_id, claim):
             elif claim == '0':
                 claim_to_vet.submission.authors_false_claims.add(claim_to_vet.claimant)
                 claim_to_vet.status = '-1'
-                claim_to_vet.submission.save()
+            claim_to_vet.submission.save()
         if claim_to_vet.commentary is not None:
             claim_to_vet.commentary.authors_claims.remove(claim_to_vet.claimant)
             if claim == '1':
@@ -1007,7 +1052,7 @@ def vet_authorship_claim(request, claim_id, claim):
             elif claim == '0':
                 claim_to_vet.commentary.authors_false_claims.add(claim_to_vet.claimant)
                 claim_to_vet.status = '-1'
-                claim_to_vet.commentary.save()
+            claim_to_vet.commentary.save()
         if claim_to_vet.thesislink is not None:
             claim_to_vet.thesislink.author_claims.remove(claim_to_vet.claimant)
             if claim == '1':
@@ -1016,7 +1061,7 @@ def vet_authorship_claim(request, claim_id, claim):
             elif claim == '0':
                 claim_to_vet.thesislink.author_false_claims.add(claim_to_vet.claimant)
                 claim_to_vet.status = '-1'
-                claim_to_vet.thesislink.save()
+            claim_to_vet.thesislink.save()
 
         claim_to_vet.vetted_by = vetting_contributor
         claim_to_vet.save()