diff --git a/newsbox_i18n/models.py b/newsbox_i18n/models.py
index e71c839f61532c68b8344dd2fe9b1ef0718a56d1..64b36cae216d96393afab6dc8a1462a052d2d245 100644
--- a/newsbox_i18n/models.py
+++ b/newsbox_i18n/models.py
@@ -2,11 +2,12 @@
 from __future__ import unicode_literals
 
 from django.core.urlresolvers import reverse
-from django.utils.translation import ugettext_lazy as _,  get_language, activate
+from django.utils.translation import ugettext_lazy as _,  get_language
 from django.utils import six
 from django.utils.encoding import python_2_unicode_compatible
 from parler.managers import TranslatableManager, TranslatableQuerySet
 from parler.models import TranslatableModel, TranslatedFields
+from parler.utils.context import switch_language
 from newsbox.models import NewsboxModelBase, NewsboxManager
 
 
@@ -81,13 +82,12 @@ class NewsboxI18NBase(six.with_metaclass(NewsboxI18NModelBase, TranslatableModel
                     break
             if not language:
                 return None
-        activate(language)
-        url = reverse(self._newsbox_meta['detail_url_name'], args=(
-            self.newsbox_publication_start_date.strftime("%Y"),
-            self.newsbox_publication_start_date.strftime("%m"),
-            self.newsbox_publication_start_date.strftime("%d"),
-            self.get_slug(language=language),))
-        activate(current_language)
+        with switch_language(self, language):
+            url = reverse(self._newsbox_meta['detail_url_name'], args=(
+                self.newsbox_publication_start_date.strftime("%Y"),
+                self.newsbox_publication_start_date.strftime("%m"),
+                self.newsbox_publication_start_date.strftime("%d"),
+                self.get_slug(language=language),))
         return url
 
     class Meta: