diff --git a/novaclient/tests/unit/v2/fakes.py b/novaclient/tests/unit/v2/fakes.py
index 5819e2707..f468e3e48 100644
--- a/novaclient/tests/unit/v2/fakes.py
+++ b/novaclient/tests/unit/v2/fakes.py
@@ -58,6 +58,7 @@ class FakeHTTPClient(base_client.HTTPClient):
         self.os_cache = 'os_cache'
         self.http_log_debug = 'http_log_debug'
         self.last_request_id = None
+        self.management_url = self.get_endpoint()
 
     def _cs_request(self, url, method, **kwargs):
         # Check that certain things are called correctly
@@ -81,6 +82,8 @@ class FakeHTTPClient(base_client.HTTPClient):
             # To get API version information, it is necessary to GET
             # a nova endpoint directly without "v2/<tenant-id>".
             callback = "get_versions"
+        elif callback == "get_http:__nova_api:8774_v2_1":
+            callback = "get_current_version"
 
         if not hasattr(self, callback):
             raise AssertionError('Called unknown API method: %s %s, '
@@ -99,7 +102,7 @@ class FakeHTTPClient(base_client.HTTPClient):
         return r, body
 
     def get_endpoint(self):
-        return "http://nova-api:8774/v2/190a755eef2e4aac9f06aa6be9786385"
+        return "http://nova-api:8774/v2.1/190a755eef2e4aac9f06aa6be9786385"
 
     def get_versions(self):
         return (200, {}, {
@@ -118,6 +121,16 @@ class FakeHTTPClient(base_client.HTTPClient):
                  "id": "v2.1"}
             ]})
 
+    def get_current_version(self):
+        return (200, {}, {
+            "version": {"status": "CURRENT",
+                        "updated": "2013-07-23T11:33:21Z",
+                        "links": [{"href": "http://nova-api:8774/v2.1/",
+                                   "rel": "self"}],
+                        "min_version": "2.1",
+                        "version": "2.3",
+                        "id": "v2.1"}})
+
     #
     # agents
     #
diff --git a/novaclient/tests/unit/v2/test_versions.py b/novaclient/tests/unit/v2/test_versions.py
index 91139844f..eeba89a28 100644
--- a/novaclient/tests/unit/v2/test_versions.py
+++ b/novaclient/tests/unit/v2/test_versions.py
@@ -36,3 +36,31 @@ class VersionsTest(utils.TestCase):
     def test_list_services_with_session_client(self, mock_is_session_client):
         self.cs.versions.list()
         self.cs.assert_called('GET', 'http://nova-api:8774/')
+
+    @mock.patch.object(versions.VersionManager, '_is_session_client',
+                       return_value=False)
+    @mock.patch.object(versions.VersionManager, 'list')
+    def test_get_current_with_http_client(self, mock_list,
+                                          mock_is_session_client):
+        current_version = versions.Version(
+            None, {"links": [{"href": "http://nova-api:8774/v2.1"}]},
+            loaded=True)
+
+        mock_list.return_value = [
+            versions.Version(
+                None, {"links": [{"href": "http://url/v1"}]}, loaded=True),
+            versions.Version(
+                None, {"links": [{"href": "http://url/v2"}]}, loaded=True),
+            versions.Version(
+                None, {"links": [{"href": "http://url/v3"}]}, loaded=True),
+            current_version,
+            versions.Version(
+                None, {"links": [{"href": "http://url/v21"}]}, loaded=True)]
+        self.assertEqual(current_version, self.cs.versions.get_current())
+
+    @mock.patch.object(versions.VersionManager, '_is_session_client',
+                       return_value=True)
+    def test_get_current_with_session_client(self, mock_is_session_client):
+        self.cs.callback = []
+        self.cs.versions.get_current()
+        self.cs.assert_called('GET', 'http://nova-api:8774/v2.1')
diff --git a/novaclient/v2/versions.py b/novaclient/v2/versions.py
index 85d62d706..b43fb4dee 100644
--- a/novaclient/v2/versions.py
+++ b/novaclient/v2/versions.py
@@ -36,6 +36,21 @@ class VersionManager(base.ManagerWithFind):
     def _is_session_client(self):
         return isinstance(self.api.client, client.SessionClient)
 
+    def get_current(self):
+        """Returns info about current version."""
+        if self._is_session_client():
+            url = self.api.client.get_endpoint().rsplit("/", 1)[0]
+            return self._get(url, "version")
+        else:
+            # NOTE(andreykurilin): HTTPClient doesn't have ability to send get
+            # request without token in the url, so `self._get` doesn't work.
+            all_versions = self.list()
+            url = self.client.management_url.rsplit("/", 1)[0]
+            for version in all_versions:
+                for link in version.links:
+                    if link["href"].rstrip('/') == url:
+                        return version
+
     def list(self):
         """List all versions."""