diff --git a/novaclient/base.py b/novaclient/base.py
index db9a75487..26ca3f833 100644
--- a/novaclient/base.py
+++ b/novaclient/base.py
@@ -313,6 +313,7 @@ class Resource(object):
         for (k, v) in info.iteritems():
             try:
                 setattr(self, k, v)
+                self._info[k] = v
             except AttributeError:
                 # In this case we already defined the attribute on the class
                 pass
diff --git a/tests/v1_1/test_servers.py b/tests/v1_1/test_servers.py
index d5156032c..e44a35189 100644
--- a/tests/v1_1/test_servers.py
+++ b/tests/v1_1/test_servers.py
@@ -32,6 +32,13 @@ class ServersTest(utils.TestCase):
         self.assertEqual(s.id, 1234)
         self.assertEqual(s.status, 'BUILD')
 
+    def test_get_server_promote_details(self):
+        s1 = cs.servers.list(detailed=False)[0]
+        s2 = cs.servers.list(detailed=True)[0]
+        self.assertNotEquals(s1._info, s2._info)
+        s1.get()
+        self.assertEquals(s1._info, s2._info)
+
     def test_create_server(self):
         s = cs.servers.create(
             name="My server",