diff --git a/.gitmodules b/.gitmodules
index 2d0c00976077ffb3149fe456a938a280ed198961..4d35fdece312852cdfd1359b2b73b6cdb3a72071 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -8,7 +8,7 @@
 [submodule "third_party/protobuf"]
 	path = third_party/protobuf
 	url = https://github.com/google/protobuf.git
-	branch = v3.0.0-beta-1
+	branch = v3.0.0-alpha-4.1
 [submodule "third_party/gflags"]
 	path = third_party/gflags
 	url = https://github.com/gflags/gflags.git
diff --git a/third_party/protobuf b/third_party/protobuf
index 23408684b4d2bf1b25e14314413a14d542c18bc4..8fce8933649ce09c1661ff2b5b7f6eb79badd251 160000
--- a/third_party/protobuf
+++ b/third_party/protobuf
@@ -1 +1 @@
-Subproject commit 23408684b4d2bf1b25e14314413a14d542c18bc4
+Subproject commit 8fce8933649ce09c1661ff2b5b7f6eb79badd251
diff --git a/tools/run_tests/run_sanity.sh b/tools/run_tests/run_sanity.sh
index c18160a891a6b0cc57224794d892fd76ee7257f9..4b367dcbc77cd96e845de01dd390c3edf1d03547 100755
--- a/tools/run_tests/run_sanity.sh
+++ b/tools/run_tests/run_sanity.sh
@@ -44,7 +44,7 @@ cat << EOF | awk '{ print $1 }' | sort > $want_submodules
  05b155ff59114735ec8cd089f669c4c3d8f59029 third_party/gflags (v2.1.0-45-g05b155f)
  c99458533a9b4c743ed51537e25989ea55944908 third_party/googletest (release-1.7.0)
  33dd08320648ac71d7d9d732be774ed3818dccc5 third_party/openssl (OpenSSL_1_0_2d)
- 23408684b4d2bf1b25e14314413a14d542c18bc4 third_party/protobuf (v3.0.0-alpha-1-1592-g2340868)
+ 8fce8933649ce09c1661ff2b5b7f6eb79badd251 third_party/protobuf (v3.0.0-alpha-4-1-g8fce893)
  50893291621658f355bc5b4d450a8d06a563053d third_party/zlib (v1.2.8)
 EOF