diff --git a/io_scene_x3d/import_x3d.py b/io_scene_x3d/import_x3d.py
index a874ab9078ed970ccb55ff684773206ec4af16e0..78b8efb84e2c0fe27463793aced96eedaef02c1d 100644
--- a/io_scene_x3d/import_x3d.py
+++ b/io_scene_x3d/import_x3d.py
@@ -22,6 +22,7 @@ DEBUG = False
 
 # This should work without a blender at all
 import os
+import shlex
 
 
 def imageConvertCompat(path):
@@ -1173,7 +1174,8 @@ class vrmlNode(object):
                             else:
                                 value += '\n' + l
 
-                    value_all = value.split()
+                    # use shlex so we get '"a b" "b v"' --> '"a b"', '"b v"'
+                    value_all = shlex.split(value, posix=False)
 
                     def iskey(k):
                         if k[0] != '"' and k[0].isalpha() and k.upper() not in {'TRUE', 'FALSE'}: