diff --git a/app/lib/scripts/SpriteScriptModule.coffee b/app/lib/scripts/SpriteScriptModule.coffee
index bc4514061..d40ce2356 100644
--- a/app/lib/scripts/SpriteScriptModule.coffee
+++ b/app/lib/scripts/SpriteScriptModule.coffee
@@ -1,5 +1,6 @@
 ScriptModule = require './ScriptModule'
 {me} = require 'lib/auth'
+util = require 'lib/utils'
 
 module.exports = class SpritesScriptModule extends ScriptModule
   @neededFor: (noteGroup) ->
@@ -36,9 +37,9 @@ module.exports = class SpritesScriptModule extends ScriptModule
     responses = [] unless script.skippable or responses
     for response in responses ? []
       response.text = response.i18n?[me.lang()]?.text ? response.text
-    text = sprite.say.i18n?[me.lang()]?.text or sprite.say.text
-    blurb = sprite.say.i18n?[me.lang()]?.blurb or sprite.say.blurb
-    sound = sprite.say.sound?[me.lang()]?.sound or sprite.say.sound
+    text = util.i18n(sprite.say, 'text')
+    blurb = util.i18n(sprite.say, 'blurb')
+    sound = sprite.say.sound # TODO support sound i18n
     note =
       channel: 'level-sprite-dialogue'
       event:
diff --git a/app/lib/utils.coffee b/app/lib/utils.coffee
index c80032a6a..2f5c25235 100644
--- a/app/lib/utils.coffee
+++ b/app/lib/utils.coffee
@@ -65,5 +65,6 @@ module.exports.i18n = (say, target, language=me.lang(), fallback='en') ->
   return generalResult if generalResult?
   return fallforwardResult if fallforwardResult?
   return fallbackResult if fallbackResult?
+  return say[target] if target of say
   return say.text if 'text' of say
   null
\ No newline at end of file
diff --git a/test/app/lib/utils.spec.coffee b/test/app/lib/utils.spec.coffee
index c9499f3ac..7852ddf5e 100644
--- a/test/app/lib/utils.spec.coffee
+++ b/test/app/lib/utils.spec.coffee
@@ -4,6 +4,7 @@ describe 'utils library', ->
   beforeEach ->
     this.fixture1 =
       "text": "G'day, Wizard! Come to practice? Well, let's get started..."
+      "blurb": "G'day"
       "i18n":
         "es-419":
           "text": "¡Buenas, Hechicero! ¿Vienes a practicar? Bueno, empecemos..."
@@ -37,6 +38,8 @@ describe 'utils library', ->
   it 'i18n falls back to the default text, even for other targets (like blurb)', ->
     delete this.fixture1.i18n['en']
     expect(util.i18n(this.fixture1, 'text', 'en')).toEqual(this.fixture1.text)
+    expect(util.i18n(this.fixture1, 'blurb', 'en')).toEqual(this.fixture1.blurb)
+    delete this.fixture1.blurb
     expect(util.i18n(this.fixture1, 'blurb', 'en')).toEqual(this.fixture1.text)
 
   it 'i18n can fall forward if a general language is not found', ->