diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee
index 673315409..1d7c7439d 100644
--- a/app/models/CocoModel.coffee
+++ b/app/models/CocoModel.coffee
@@ -45,14 +45,14 @@ class CocoModel extends Backbone.Model
     @loading = false
     @jqxhr = null
     if jqxhr.status is 402
-      Backbone.Mediator.publish 'level:subscription-required'
+      Backbone.Mediator.publish 'level:subscription-required', {}
 
   onLoaded: ->
     @loaded = true
     @loading = false
     @jqxhr = null
     @loadFromBackup()
-    
+
   getCreationDate: -> new Date(parseInt(@id.slice(0,8), 16)*1000)
 
   getNormalizedURL: -> "#{@urlRoot}/#{@id}"
@@ -351,7 +351,7 @@ class CocoModel extends Backbone.Model
 
     CocoCollection = require 'collections/CocoCollection'
     Achievement = require 'models/Achievement'
-    
+
     class NewAchievementCollection extends CocoCollection
       model: Achievement
       initialize: (me = require('core/auth').me) ->
diff --git a/app/views/play/WorldMapView.coffee b/app/views/play/WorldMapView.coffee
index a5fc521f0..21eec7f5f 100644
--- a/app/views/play/WorldMapView.coffee
+++ b/app/views/play/WorldMapView.coffee
@@ -208,11 +208,9 @@ module.exports = class WorldMapView extends RootView
       @endHighlight()
     else
       if level.requiresSubscription and @requiresSubscription and not @levelStatusMap[level.id] and not level.adventurer
-        modal = if me.get('anonymous') then AuthModal else SubscribeModal
-        @openModalView new modal()
-        if modal is SubscribeModal
-          window.tracker?.trackEvent 'Show subscription modal', category: 'Subscription', label: 'map level clicked'
-          window.tracker?.trackPageView "subscription/show-modal", ['Google Analytics']
+        @openModalView new SubscribeModal()
+        window.tracker?.trackEvent 'Show subscription modal', category: 'Subscription', label: 'map level clicked'
+        window.tracker?.trackPageView "subscription/show-modal", ['Google Analytics']
       else if $(e.target).attr('disabled')
         Backbone.Mediator.publish 'router:navigate', route: '/contribute/adventurer'
         return
diff --git a/app/views/play/level/LevelLoadingView.coffee b/app/views/play/level/LevelLoadingView.coffee
index 99d8150ca..8b1fbd49c 100644
--- a/app/views/play/level/LevelLoadingView.coffee
+++ b/app/views/play/level/LevelLoadingView.coffee
@@ -2,7 +2,6 @@ CocoView = require 'views/core/CocoView'
 template = require 'templates/play/level/level_loading'
 utils = require 'core/utils'
 SubscribeModal = require 'views/play/modal/SubscribeModal'
-AuthModal = require 'views/core/AuthModal'
 
 module.exports = class LevelLoadingView extends CocoView
   id: 'level-loading-view'
@@ -110,11 +109,9 @@ module.exports = class LevelLoadingView extends CocoView
     @$el.find('.subscription-required').show()
 
   onClickStartSubscription: (e) ->
-    modal = if me.get('anonymous') then AuthModal else SubscribeModal
-    @openModalView new modal()
-    if modal is SubscribeModal
-      window.tracker?.trackEvent 'Show subscription modal', category: 'Subscription', label: 'level loading'
-      window.tracker?.trackPageView "subscription/show-modal", ['Google Analytics']
+    @openModalView new SubscribeModal()
+    window.tracker?.trackEvent 'Show subscription modal', category: 'Subscription', label: 'level loading'
+    window.tracker?.trackPageView "subscription/show-modal", ['Google Analytics']
 
   onSubscribed: ->
     document.location.reload()
diff --git a/app/views/play/modal/SubscribeModal.coffee b/app/views/play/modal/SubscribeModal.coffee
index 9474634ff..8b5381f42 100644
--- a/app/views/play/modal/SubscribeModal.coffee
+++ b/app/views/play/modal/SubscribeModal.coffee
@@ -2,6 +2,7 @@ ModalView = require 'views/core/ModalView'
 template = require 'templates/play/modal/subscribe-modal'
 stripeHandler = require 'core/services/stripe'
 utils = require 'core/utils'
+AuthModal = require 'views/core/AuthModal'
 
 module.exports = class SubscribeModal extends ModalView
   id: 'subscribe-modal'
@@ -49,6 +50,7 @@ module.exports = class SubscribeModal extends ModalView
 
   onClickPurchaseButton: (e) ->
     @playSound 'menu-button-click'
+    return @openModalView new AuthModal() if me.get('anonymous')
     application.tracker?.trackEvent 'Started subscription purchase', {}
     application.tracker?.trackPageView "subscription/start-purchase", ['Google Analytics']
     stripeHandler.open({