diff --git a/Makefile.am b/Makefile.am
index 4e2f651522306103255a38432a65c1b6a8f0a4bd..cd90b6c02a6e7a23132cf485d3425230cb3d19f2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -84,6 +84,7 @@ EXTRA_DIST =                                                                 \
   python/google/protobuf/internal/service_reflection_test.py                 \
   python/google/protobuf/internal/test_util.py                               \
   python/google/protobuf/internal/text_format_test.py                        \
+  python/google/protobuf/internal/type_checkers.py                           \
   python/google/protobuf/internal/wire_format.py                             \
   python/google/protobuf/internal/wire_format_test.py                        \
   python/google/protobuf/internal/__init__.py                                \
diff --git a/src/google/protobuf/stubs/common_unittest.cc b/src/google/protobuf/stubs/common_unittest.cc
index c339c5fd18bf1aa5c437a4029aa38251bd466d05..bccc1e09f6219b3b1c641d280a5f2e8ec0e49fa7 100644
--- a/src/google/protobuf/stubs/common_unittest.cc
+++ b/src/google/protobuf/stubs/common_unittest.cc
@@ -37,11 +37,12 @@ namespace {
 TEST(VersionTest, VersionMatchesConfig) {
   // Verify that the version string specified in config.h matches the one
   // in common.h.  The config.h version is a string which may have a suffix
-  // like "beta", so we remove that.
+  // like "beta" or "rc1", so we remove that.
   string version = PACKAGE_VERSION;
-  int pos = version.size();
-  while (pos > 0 && !ascii_isdigit(version[pos-1])) {
-    --pos;
+  int pos = 0;
+  while (pos < version.size() &&
+         (ascii_isdigit(version[pos]) || version[pos] == '.')) {
+    ++pos;
   }
   version.erase(pos);