diff --git a/journals/behaviors.py b/journals/behaviors.py
index dd9e5f253b3391d7c19672fbbe9b4978a2c7ae27..b3c87c62e2df9e565bf9f34e4e7243c5812ee25e 100644
--- a/journals/behaviors.py
+++ b/journals/behaviors.py
@@ -11,7 +11,7 @@ doi_journal_validator = RegexValidator(r'^[a-zA-Z]+$',
                                        'Only valid DOI expressions are allowed ([a-zA-Z]+).')
 doi_volume_validator = RegexValidator(r'^[a-zA-Z]+.[0-9]+$',
                                       'Only valid DOI expressions are allowed ([a-zA-Z]+.[0-9]+).')
-doi_issue_validator = RegexValidator(r'^[a-zA-Z]+.[0-9]+.[0-9]+$',
+doi_issue_validator = RegexValidator(r'^[a-zA-Z]+(.[0-9]+)?.[0-9]+$',
                                      ('Only valid DOI expressions are allowed '
                                       '([a-zA-Z]+.[0-9]+.[0-9]+).'))
 doi_publication_validator = RegexValidator(
diff --git a/journals/models.py b/journals/models.py
index 6f2cd352eb0690069008f865f12b0c10c21b6b0a..c3bc890559164b1f7c40d59b77166fcd9ef17d46 100644
--- a/journals/models.py
+++ b/journals/models.py
@@ -310,7 +310,7 @@ class Issue(models.Model):
     def issue_number(self):
         if self.in_volume:
             return '%s issue %s' % (self.in_volume, self.number)
-        return self.short_str
+        return '%s issue %s' % (self.in_journal, self.number)
 
     @property
     def short_str(self):
diff --git a/journals/views.py b/journals/views.py
index d4a59d242916b45a98b900e59cedcd3f66ff4706..7be959ac2f5e1ba43bb3915392ec0f80c2490fe0 100644
--- a/journals/views.py
+++ b/journals/views.py
@@ -24,7 +24,6 @@ from django.db.models import Q
 from django.http import Http404, HttpResponse
 from django.utils import timezone
 from django.utils.decorators import method_decorator
-from django.views.generic.base import TemplateView
 from django.views.generic.detail import DetailView
 from django.views.generic.edit import UpdateView
 from django.views.generic.list import ListView
@@ -1231,8 +1230,8 @@ def publication_detail(request, doi_label):
     The actual Publication detail page. This is visible for everyone if published or
     visible for Production Supervisors and Administrators if in draft.
     """
-    publication = get_object_or_404(Publication, doi_label=doi_label)
-    if not publication.is_published  and not publication.status == PUBLICATION_PREPUBLISHED:
+    publication = Publication.objects.get(doi_label=doi_label)
+    if not publication.is_published and not publication.status == PUBLICATION_PREPUBLISHED:
         if not request.user.has_perm('scipost.can_draft_publication'):
             raise Http404('Publication is not publicly visible')
 
diff --git a/proceedings/models.py b/proceedings/models.py
index c2809ff46a4af2a3678de994ae03da01c89380c7..47c99fdd52f1d691629429687947622685ab969a 100644
--- a/proceedings/models.py
+++ b/proceedings/models.py
@@ -18,9 +18,9 @@ class Proceedings(TimeStampedModel):
     A Proceeding is a special kind of Journal Issue.
     """
     # Link to the actual Journal platform
-    issue = models.OneToOneField('journals.Issue', related_name='proceedings',
-                                 limit_choices_to={
-                                    'in_volume__in_journal__name': 'SciPostPhysProc'})
+    issue = models.OneToOneField(
+        'journals.Issue', related_name='proceedings',
+        limit_choices_to=models.Q(in_volume__in_journal__name='SciPostPhysProc') | models.Q(in_journal__name='SciPostPhysProc'))
 
     # Event the Proceedings is for
     event_name = models.CharField(max_length=256, blank=True)
diff --git a/scipost/urls.py b/scipost/urls.py
index e6e4183ba01daeb61f30a4510e5a6186a8c7f0fc..99c22a9161976f66a7b4fd7e23a8a97fa6d6f5b7 100644
--- a/scipost/urls.py
+++ b/scipost/urls.py
@@ -207,9 +207,9 @@ urlpatterns = [
         name='publication_pdf'),
 
     # Journal issue
-    url(r'^10.21468/(?P<doi_label>[a-zA-Z]+.[0-9]+.[0-9])$',
+    url(r'^10.21468/(?P<doi_label>[a-zA-Z]+(.[0-9]+)?.[0-9])$',
         journals_views.issue_detail, name='issue_detail'),
-    url(r'^(?P<doi_label>[a-zA-Z]+.[0-9]+.[0-9])$',
+    url(r'^(?P<doi_label>[a-zA-Z]+(.[0-9]+)?.[0-9])$',
         journals_views.issue_detail, name='issue_detail'),
 
     # Journal landing page