diff --git a/project/vendor.sh b/project/vendor.sh
index c1074e887e..91196d703b 100755
--- a/project/vendor.sh
+++ b/project/vendor.sh
@@ -66,7 +66,7 @@ if [ "$1" = '--go' ]; then
 	mv tmp-tar src/code.google.com/p/go/src/pkg/archive/tar
 fi
 
-clone git github.com/docker/libcontainer 0f397d4e145fb4053792d42b3424dd2143fb23ad
+clone git github.com/docker/libcontainer be02944484da197166020d6b3f08a19d7d7d244c
 # see src/github.com/docker/libcontainer/update-vendor.sh which is the "source of truth" for libcontainer deps (just like this file)
 rm -rf src/github.com/docker/libcontainer/vendor
 eval "$(grep '^clone ' src/github.com/docker/libcontainer/update-vendor.sh | grep -v 'github.com/codegangsta/cli')"
diff --git a/vendor/src/github.com/docker/libcontainer/Dockerfile b/vendor/src/github.com/docker/libcontainer/Dockerfile
index 614e5979bf..0771c808ea 100644
--- a/vendor/src/github.com/docker/libcontainer/Dockerfile
+++ b/vendor/src/github.com/docker/libcontainer/Dockerfile
@@ -1,6 +1,5 @@
-FROM crosbymichael/golang
+FROM golang:1.4
 
-RUN apt-get update && apt-get install -y gcc make
 RUN go get golang.org/x/tools/cmd/cover
 
 ENV GOPATH $GOPATH:/go/src/github.com/docker/libcontainer/vendor
diff --git a/vendor/src/github.com/docker/libcontainer/cgroups/fs/stats_util_test.go b/vendor/src/github.com/docker/libcontainer/cgroups/fs/stats_util_test.go
index 6e237c0409..c55ba938cb 100644
--- a/vendor/src/github.com/docker/libcontainer/cgroups/fs/stats_util_test.go
+++ b/vendor/src/github.com/docker/libcontainer/cgroups/fs/stats_util_test.go
@@ -53,7 +53,7 @@ func expectBlkioStatsEquals(t *testing.T, expected, actual cgroups.BlkioStats) {
 	}
 
 	if err := blkioStatEntryEquals(expected.IoMergedRecursive, actual.IoMergedRecursive); err != nil {
-		log.Printf("blkio IoMergedRecursive do not match - %s vs %s\n", expected.IoMergedRecursive, actual.IoMergedRecursive)
+		log.Printf("blkio IoMergedRecursive do not match - %v vs %v\n", expected.IoMergedRecursive, actual.IoMergedRecursive)
 		t.Fail()
 	}
 
diff --git a/vendor/src/github.com/docker/libcontainer/integration/template_test.go b/vendor/src/github.com/docker/libcontainer/integration/template_test.go
index 7e56628c2b..98846eb199 100644
--- a/vendor/src/github.com/docker/libcontainer/integration/template_test.go
+++ b/vendor/src/github.com/docker/libcontainer/integration/template_test.go
@@ -32,13 +32,13 @@ func newTemplateConfig(rootfs string) *libcontainer.Config {
 			"KILL",
 			"AUDIT_WRITE",
 		},
-		Namespaces: libcontainer.Namespaces{
+		Namespaces: libcontainer.Namespaces([]libcontainer.Namespace{
 			{Type: libcontainer.NEWNS},
 			{Type: libcontainer.NEWUTS},
 			{Type: libcontainer.NEWIPC},
 			{Type: libcontainer.NEWPID},
 			{Type: libcontainer.NEWNET},
-		},
+		}),
 		Cgroups: &cgroups.Cgroup{
 			Parent:          "integration",
 			AllowAllDevices: false,
diff --git a/vendor/src/github.com/docker/libcontainer/namespaces/nsenter/nsenter.c b/vendor/src/github.com/docker/libcontainer/namespaces/nsenter/nsenter.c
index 1a81c31572..b735b1fa20 100644
--- a/vendor/src/github.com/docker/libcontainer/namespaces/nsenter/nsenter.c
+++ b/vendor/src/github.com/docker/libcontainer/namespaces/nsenter/nsenter.c
@@ -15,10 +15,6 @@
 #include <unistd.h>
 #include <getopt.h>
 
-#ifndef PR_SET_CHILD_SUBREAPER
-#define PR_SET_CHILD_SUBREAPER 36
-#endif
-
 static const kBufSize = 256;
 static const char *kNsEnter = "nsenter";
 
@@ -93,11 +89,13 @@ void nsenter()
 		return;
 	}
 
+	#ifdef PR_SET_CHILD_SUBREAPER
 	if (prctl(PR_SET_CHILD_SUBREAPER, 1, 0, 0, 0) == -1) {
 		fprintf(stderr, "nsenter: failed to set child subreaper: %s",
 			strerror(errno));
 		exit(1);
 	}
+	#endif
 
 	static const struct option longopts[] = {
 		{"nspid", required_argument, NULL, 'n'},