diff --git a/wearable/wear/AgendaData/template-params.xml b/wearable/wear/AgendaData/template-params.xml
index e5bdd22..a6b4882 100644
--- a/wearable/wear/AgendaData/template-params.xml
+++ b/wearable/wear/AgendaData/template-params.xml
@@ -26,7 +26,7 @@
     <targetSdkVersion>23</targetSdkVersion>
     <targetSdkVersionWear>22</targetSdkVersionWear>
 
-    <dependency>com.android.support:design:23.1.0</dependency>
+    <dependency>com.android.support:design:23.1.1</dependency>
 
     <wearable>
         <has_handheld_app>true</has_handheld_app>
diff --git a/wearable/wear/Geofencing/template-params.xml b/wearable/wear/Geofencing/template-params.xml
index cd57613..354e55c 100644
--- a/wearable/wear/Geofencing/template-params.xml
+++ b/wearable/wear/Geofencing/template-params.xml
@@ -26,7 +26,7 @@
     <targetSdkVersion>22</targetSdkVersion>
     <targetSdkVersionWear>22</targetSdkVersionWear>
 
-    <dependency>com.google.android.gms:play-services-location:8.3.0</dependency>
+    <dependency>com.google.android.gms:play-services-location</dependency>
 
     <wearable>
         <has_handheld_app>true</has_handheld_app>
diff --git a/wearable/wear/RuntimePermissionsWear/Wearable/build.gradle b/wearable/wear/RuntimePermissionsWear/Wearable/build.gradle
deleted file mode 100644
index 8048bbd..0000000
--- a/wearable/wear/RuntimePermissionsWear/Wearable/build.gradle
+++ /dev/null
@@ -1,64 +0,0 @@
-
-buildscript {
-    repositories {
-        jcenter()
-    }
-
-    dependencies {
-        classpath 'com.android.tools.build:gradle:1.2.3'
-    }
-}
-
-apply plugin: 'com.android.application'
-
-
-
-repositories {
-    jcenter()
-}
-
-dependencies {
-    compile 'com.google.android.gms:play-services-wearable:8.1.0'
-    compile 'com.android.support:support-v13:23.1.0'
-    compile 'com.google.android.support:wearable:1.3.0'
-    compile project(':Shared')
-}
-
-// The sample build uses multiple directories to
-// keep boilerplate and common code separate from
-// the main sample code.
-List<String> dirs = [
-    'main',     // main sample code; look here for the interesting stuff.
-    'common',   // components that are reused by multiple samples
-    'template'] // boilerplate code that is generated by the sample template process
-
-android {
-    compileSdkVersion 23
-
-    buildToolsVersion "23.0.2"
-
-    defaultConfig {
-        versionCode 1
-        versionName "1.0"
-
-        targetSdkVersion 23
-
-    }
-
-    compileOptions {
-        sourceCompatibility JavaVersion.VERSION_1_7
-        targetCompatibility JavaVersion.VERSION_1_7
-    }
-
-    sourceSets {
-        main {
-            dirs.each { dir ->
-                java.srcDirs "src/${dir}/java"
-                res.srcDirs "src/${dir}/res"
-            }
-        }
-        androidTest.setRoot('tests')
-        androidTest.java.srcDirs = ['tests/src']
-
-    }
-}
diff --git a/wearable/wear/RuntimePermissionsWear/template-params.xml b/wearable/wear/RuntimePermissionsWear/template-params.xml
index 395097a..9c2d4f6 100644
--- a/wearable/wear/RuntimePermissionsWear/template-params.xml
+++ b/wearable/wear/RuntimePermissionsWear/template-params.xml
@@ -28,8 +28,8 @@
         <has_handheld_app>true</has_handheld_app>
     </wearable>
 
-    <dependency>com.android.support:appcompat-v7:23.1.0</dependency>
-    <dependency>com.android.support:design:23.1.0</dependency>
+    <dependency>com.android.support:appcompat-v7:23.1.1</dependency>
+    <dependency>com.android.support:design:23.1.1</dependency>
     <provided_dependency_wearable>com.google.android.wearable:wearable:1.0.0</provided_dependency_wearable>
 
     <strings>
diff --git a/wearable/wear/SpeedTracker/template-params.xml b/wearable/wear/SpeedTracker/template-params.xml
index 0817916..982e1b0 100644
--- a/wearable/wear/SpeedTracker/template-params.xml
+++ b/wearable/wear/SpeedTracker/template-params.xml
@@ -30,10 +30,10 @@
         <has_handheld_app>true</has_handheld_app>
     </wearable>
 
-    <dependency>com.android.support:design:23.0.1</dependency>
+    <dependency>com.android.support:design:23.1.1</dependency>
 
-    <dependency>com.google.android.gms:play-services-location:8.3.0</dependency>
-    <dependency_wearable>com.google.android.gms:play-services-location:8.3.0</dependency_wearable>
+    <dependency>com.google.android.gms:play-services-location</dependency>
+    <dependency_wearable>com.google.android.gms:play-services-location</dependency_wearable>
 
     <strings>
         <intro>
diff --git a/wearable/wear/WatchFace/template-params.xml b/wearable/wear/WatchFace/template-params.xml
index 15df71a..e339fe2 100644
--- a/wearable/wear/WatchFace/template-params.xml
+++ b/wearable/wear/WatchFace/template-params.xml
@@ -26,10 +26,10 @@
     <targetSdkVersion>23</targetSdkVersion>
     <targetSdkVersionWear>23</targetSdkVersionWear>
 
-    <dependency_wearable>com.android.support:palette-v7:23.1.0</dependency_wearable>
+    <dependency_wearable>com.android.support:palette-v7:23.1.1</dependency_wearable>
     <dependency>com.google.android.support:wearable:1.3.0</dependency>
-    <dependency>com.google.android.gms:play-services-fitness:8.3.0</dependency>
-    <dependency_wearable>com.google.android.gms:play-services-fitness:8.3.0</dependency_wearable>
+    <dependency>com.google.android.gms:play-services-fitness</dependency>
+    <dependency_wearable>com.google.android.gms:play-services-fitness</dependency_wearable>
 
     <wearable>
         <has_handheld_app>true</has_handheld_app>
