diff --git a/lib/Properties.hs b/lib/Properties.hs
index 2b59a6b44acf30aeee72eec8d8c52f897b6526c4..daedabc8a549f5f89f7ea2c729870ae3a2975f77 100644
--- a/lib/Properties.hs
+++ b/lib/Properties.hs
@@ -157,7 +157,9 @@ checkMapProperty p@(Property name _) = case name of
 checkTileset ::  LintWriter Tileset
 checkTileset = do
   tileset <- askContext
-  unwrapPath (tilesetImage tileset) (dependsOn . Local)
+  case tilesetImage tileset of
+    Just str -> unwrapPath str (dependsOn . Local)
+    Nothing -> complain "Tileset does not refer to an image."
 
   refuseDoubledNames (getProperties tileset)
 
diff --git a/lib/Tiled.hs b/lib/Tiled.hs
index c5abb216086afffa05e0e761e3fe48d38f527e35..bca5f1afd449fc8cb65728cf0e19b872d4f68453 100644
--- a/lib/Tiled.hs
+++ b/lib/Tiled.hs
@@ -289,7 +289,7 @@ instance ToJSON Tile where
 
 data Tileset = Tileset { tilesetFirstgid         :: GlobalId
                          -- ^ GID corresponding to the first tile in the set
-                       , tilesetImage            :: Text
+                       , tilesetImage            :: Maybe Text
                          -- ^ Image used for tiles in this set
                        , tilesetName             :: Text
                          -- ^ Name given to this tileset