diff --git a/io_scene_fbx/export_fbx.py b/io_scene_fbx/export_fbx.py
index e7c61f18f014fe57d29c844cddad3619c83e0500..a310325a37621cccabbb0441fedfbfeed8621419 100644
--- a/io_scene_fbx/export_fbx.py
+++ b/io_scene_fbx/export_fbx.py
@@ -128,7 +128,12 @@ def sane_groupname(data):
 
 
 def mat4x4str(mat):
-    return '%.15f,%.15f,%.15f,%.15f,%.15f,%.15f,%.15f,%.15f,%.15f,%.15f,%.15f,%.15f,%.15f,%.15f,%.15f,%.15f' % tuple([f for v in mat for f in v])
+    # blender matrix is row major, fbx is col major so transpose on write
+    return ("%.15f,%.15f,%.15f,%.15f,"
+            "%.15f,%.15f,%.15f,%.15f,"
+            "%.15f,%.15f,%.15f,%.15f,"
+            "%.15f,%.15f,%.15f,%.15f" %
+            tuple([f for v in mat.transposed() for f in v]))
 
 
 def action_bone_names(obj, action):