diff --git a/fig/project.py b/fig/project.py
index a0b9150bc..d8044c7d7 100644
--- a/fig/project.py
+++ b/fig/project.py
@@ -135,8 +135,8 @@ class Project(object):
                     volumes_from.append(service)
                 except NoSuchService:
                     try:
-                        container = Container.from_id(client, volume_name)
-                        volumes_from.append(Container.from_id(client, volume_name))
+                        container = Container.from_id(self.client, volume_name)
+                        volumes_from.append(container)
                     except APIError:
                         raise ConfigurationError('Service "%s" mounts volumes from "%s", which is not the name of a service or container.' % (service_dict['name'], volume_name))
             del service_dict['volumes_from']
diff --git a/tests/integration/project_test.py b/tests/integration/project_test.py
index f52476828..83a988a14 100644
--- a/tests/integration/project_test.py
+++ b/tests/integration/project_test.py
@@ -1,9 +1,49 @@
 from __future__ import unicode_literals
 from fig.project import Project, ConfigurationError
+from fig.container import Container
 from .testcases import DockerClientTestCase
 
 
 class ProjectTest(DockerClientTestCase):
+    def test_volumes_from_service(self):
+        project = Project.from_config(
+            name='figtest',
+            config={
+                'data': {
+                    'image': 'busybox:latest',
+                    'volumes': ['/var/data'],
+                },
+                'db': {
+                    'image': 'busybox:latest',
+                    'volumes_from': ['data'],
+                },
+            },
+            client=self.client,
+        )
+        db = project.get_service('db')
+        data = project.get_service('data')
+        self.assertEqual(db.volumes_from, [data])
+
+    def test_volumes_from_container(self):
+        data_container = Container.create(
+            self.client,
+            image='busybox:latest',
+            volumes=['/var/data'],
+            name='figtest_data_container',
+        )
+        project = Project.from_config(
+            name='figtest',
+            config={
+                'db': {
+                    'image': 'busybox:latest',
+                    'volumes_from': ['figtest_data_container'],
+                },
+            },
+            client=self.client,
+        )
+        db = project.get_service('db')
+        self.assertEqual(db.volumes_from, [data_container])
+
     def test_start_stop_kill_remove(self):
         web = self.create_service('web')
         db = self.create_service('db')