diff --git a/lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php b/lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php
index b8cff1b0f8..8edb870bcd 100644
--- a/lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php
+++ b/lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php
@@ -159,6 +159,10 @@ public function loadMetadataForClass($className, ClassMetadata $class)
                 $mapping[$key] = (string) $value;
             }
 
+            if (isset($attributes['field-name'])) {
+                $mapping['fieldName'] = (string) $attributes['field-name'];
+            }
+
             if (isset($mapping['strategy'])) {
                 $mapping['options'] = [];
                 if (isset($field->{'generator-option'})) {
diff --git a/tests/Doctrine/ODM/MongoDB/Tests/Mapping/AbstractMappingDriverTest.php b/tests/Doctrine/ODM/MongoDB/Tests/Mapping/AbstractMappingDriverTest.php
index 6df5f080f8..8043c76f55 100644
--- a/tests/Doctrine/ODM/MongoDB/Tests/Mapping/AbstractMappingDriverTest.php
+++ b/tests/Doctrine/ODM/MongoDB/Tests/Mapping/AbstractMappingDriverTest.php
@@ -80,7 +80,7 @@ public function testDocumentLevelWriteConcern($class)
     public function testFieldMappings($class)
     {
         $this->assertCount(14, $class->fieldMappings);
-        $this->assertTrue(isset($class->fieldMappings['id']));
+        $this->assertTrue(isset($class->fieldMappings['identifier']));
         $this->assertTrue(isset($class->fieldMappings['version']));
         $this->assertTrue(isset($class->fieldMappings['lock']));
         $this->assertTrue(isset($class->fieldMappings['name']));
@@ -146,7 +146,7 @@ public function testStringFieldMappings($class)
      */
     public function testIdentifier($class)
     {
-        $this->assertEquals('id', $class->identifier);
+        $this->assertEquals('identifier', $class->identifier);
 
         return $class;
     }
@@ -402,7 +402,7 @@ class AbstractMappingDriverUser
     /**
      * @ODM\Id
      */
-    public $id;
+    public $identifier;
 
     /**
      * @ODM\Version
diff --git a/tests/Doctrine/ODM/MongoDB/Tests/Mapping/xml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.xml b/tests/Doctrine/ODM/MongoDB/Tests/Mapping/xml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.xml
index 1576ad7fe4..78e2d1bea3 100644
--- a/tests/Doctrine/ODM/MongoDB/Tests/Mapping/xml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.xml
+++ b/tests/Doctrine/ODM/MongoDB/Tests/Mapping/xml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.xml
@@ -20,7 +20,7 @@
             </tag-set>
             <tag-set />
         </read-preference>
-        <field fieldName="id" id="true" />
+        <id field-name="identifier" />
         <field fieldName="version" version="true" type="int" />
         <field fieldName="lock" lock="true" type="int" />
         <field fieldName="name" name="username" type="string" />
diff --git a/tests/Doctrine/ODM/MongoDB/Tests/Mapping/yaml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.yml b/tests/Doctrine/ODM/MongoDB/Tests/Mapping/yaml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.yml
index 7a64e0d355..ed80cca3d4 100644
--- a/tests/Doctrine/ODM/MongoDB/Tests/Mapping/yaml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.yml
+++ b/tests/Doctrine/ODM/MongoDB/Tests/Mapping/yaml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.yml
@@ -17,6 +17,7 @@ Doctrine\ODM\MongoDB\Tests\Mapping\AbstractMappingDriverUser:
   fields:
     id:
       type: id
+      fieldName: identifier
       id: true
     version:
       type: int