diff --git a/io_scene_fbx/__init__.py b/io_scene_fbx/__init__.py
index 4dce55021b92fba14a61f438c8f70c4266623a81..33651d2a5ef935e08c26cc28ee25d9da3ea9ac1c 100644
--- a/io_scene_fbx/__init__.py
+++ b/io_scene_fbx/__init__.py
@@ -77,10 +77,11 @@ class ExportFBX(bpy.types.Operator, ExportHelper):
             options={'ENUM_FLAG'},
             items=(('EMPTY', "Empty", ""),
                    ('CAMERA', "Camera", ""),
+                   ('LAMP', "Lamp", ""),
                    ('ARMATURE', "Armature", ""),
                    ('MESH', "Mesh", ""),
                    ),
-            default={'EMPTY', 'CAMERA', 'ARMATURE', 'MESH'},
+            default={'EMPTY', 'CAMERA', 'LAMP', 'ARMATURE', 'MESH'},
             )
 
     mesh_apply_modifiers = BoolProperty(name="Modifiers", description="Apply modifiers to mesh objects", default=True)
diff --git a/io_scene_fbx/export_fbx.py b/io_scene_fbx/export_fbx.py
index 64cd79b96cc641b474260acecad216562762eb7e..ee0ebdd41c853f6635e89ccf22a75d596fc9bf66 100644
--- a/io_scene_fbx/export_fbx.py
+++ b/io_scene_fbx/export_fbx.py
@@ -204,7 +204,7 @@ header_comment = \
 def save_single(operator, scene, filepath="",
         GLOBAL_MATRIX=None,
         context_objects=None,
-        object_types={'EMPTY', 'CAMERA', 'ARMATURE', 'MESH'},
+        object_types={'EMPTY', 'CAMERA', 'LAMP', 'ARMATURE', 'MESH'},
         mesh_apply_modifiers=True,
         mesh_smooth_type='FACE',
         ANIM_ENABLE=True,
@@ -1798,13 +1798,13 @@ def save_single(operator, scene, filepath="",
     for ob_base in context_objects:
 
         # ignore dupli children
-        if ob_base.parent and ob_base.parent.dupli_type != 'NONE':
+        if ob_base.parent and ob_base.parent.dupli_type in {'VERTS', 'FACES'}:
             continue
 
-        obs = [(ob_base, ob_base.matrix_world)]
+        obs = [(ob_base, ob_base.matrix_world.copy())]
         if ob_base.dupli_type != 'NONE':
             ob_base.dupli_list_create(scene)
-            obs = [(dob.object, dob.matrix) for dob in ob_base.dupli_list]
+            obs = [(dob.object, dob.matrix.copy()) for dob in ob_base.dupli_list]
 
         for ob, mtx in obs:
 # 		for ob, mtx in BPyObject.getDerivedObjects(ob_base):