diff --git a/.travis.yml b/.travis.yml
index a7b4af6cd783f6822ef75828b40e23d8d6906ede..efae50b5927248bcc137a3b03b008c9fbd33831f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -25,6 +25,7 @@ install:
 script:
   - make testall
   - ./scripts/test-k8s.sh
+  - make verify-proto # Ensure proto generation doesn't depend on external packages.
 
 notifications:
   email: false
diff --git a/Makefile b/Makefile
index e762f456d831127856e022de9ba574393f8ff7ba..3bab85d2a158b93c6df1ccfb3b2722588863248d 100644
--- a/Makefile
+++ b/Makefile
@@ -61,14 +61,14 @@ docker-image:
 	@sudo docker build -t $(DOCKER_IMAGE) .
 
 .PHONY: proto
-proto: api/api.pb.go server/internal/types.pb.go
-
-api/api.pb.go: api/api.proto bin/protoc bin/protoc-gen-go
+proto: bin/protoc bin/protoc-gen-go
 	@./bin/protoc --go_out=plugins=grpc:. --plugin=protoc-gen-go=./bin/protoc-gen-go api/*.proto
-
-server/internal/types.pb.go: server/internal/types.proto bin/protoc bin/protoc-gen-go
 	@./bin/protoc --go_out=. --plugin=protoc-gen-go=./bin/protoc-gen-go server/internal/*.proto
 
+.PHONY: verify-proto
+verify-proto: proto
+	@./scripts/git-diff
+
 bin/protoc: scripts/get-protoc
 	@./scripts/get-protoc bin/protoc
 
diff --git a/glide.yaml b/glide.yaml
index 2300d99eba289099ee9decff076c98c6c1e51a1e..eece3c63b13992f77294b8acd59cd59a9e4b1c5d 100644
--- a/glide.yaml
+++ b/glide.yaml
@@ -128,11 +128,14 @@ import:
   - peer
   - transport
 - package: github.com/golang/protobuf
-  version: 2bba0603135d7d7f5cb73b2125beeda19c09f4ef
+  version: 1e59b77b52bf8e4b449a57e6f79f21226d571845
   subpackages:
   - proto
   - protoc-gen-go
   - protoc-gen-go/grpc
+  - protoc-gen-go/descriptor        
+  - protoc-gen-go/plugin            
+  - protoc-gen-go/generator   
 - package: google.golang.org/genproto
   version: 411e09b969b1170a9f0c467558eb4c4c110d9c77
 
diff --git a/scripts/git-diff b/scripts/git-diff
new file mode 100755
index 0000000000000000000000000000000000000000..302ac2ce3eeac6fdb71adfc86e2ddf737b6c79f8
--- /dev/null
+++ b/scripts/git-diff
@@ -0,0 +1,7 @@
+#!/bin/bash -e
+
+DIFF=$( git diff . )
+if [ "$DIFF" != "" ]; then
+    echo "$DIFF" >&2
+    exit 1
+fi