diff --git a/BUCK b/BUCK
index 4c72c31..dc197fa 100644
--- a/BUCK
+++ b/BUCK
@@ -1,5 +1,6 @@
 include_defs('//VERSION')
-include_defs('//bucklets/maven_package.bucklet')
+include_defs('//bucklets.defs')
+include_bucklets(['maven_package.bucklet'])
 
 DEPS = [
   '//gitiles-dev:dev',
diff --git a/bucklets.defs b/bucklets.defs
new file mode 100644
index 0000000..56c0a96
--- /dev/null
+++ b/bucklets.defs
@@ -0,0 +1,20 @@
+import os
+import sys
+
+def include_bucklets(names):
+  d = os.getcwd()
+  while not os.path.lexists(os.path.join(d, '.buckversion')):
+    d = os.path.dirname(d)
+
+  bd = os.path.join(d, 'bucklets')
+  if not os.path.isdir(bd) or not os.listdir(bd):
+    sys.stderr.write(('Bucklets directory is missing or empty: %s\n'
+                      'Run `git submodule update --init`') % bd)
+    sys.exit(1)
+
+  for name in names:
+    path = os.path.join(bd, name)
+    if not os.path.isfile(path):
+      sys.stderr.write('Missing bucklet: %s\n' % path)
+      sys.exit(1)
+    include_defs('//bucklets/%s' % name)
diff --git a/gitiles-servlet/BUCK b/gitiles-servlet/BUCK
index 217075b..dcbeaea 100644
--- a/gitiles-servlet/BUCK
+++ b/gitiles-servlet/BUCK
@@ -1,5 +1,8 @@
-include_defs('//bucklets/java_sources.bucklet')
-include_defs('//bucklets/java_doc.bucklet')
+include_defs('//bucklets.defs')
+include_bucklets([
+  'java_sources.bucklet',
+  'java_doc.bucklet',
+])
 
 SRCS = glob(['src/main/java/**/*.java'])
 RSRC = glob(['src/main/resources/**/*'])
diff --git a/gitiles-war/BUCK b/gitiles-war/BUCK
index 0523e62..37708a5 100644
--- a/gitiles-war/BUCK
+++ b/gitiles-war/BUCK
@@ -1,4 +1,5 @@
-include_defs('//bucklets/war.bucklet')
+include_defs('//bucklets.defs')
+include_bucklets(['war.bucklet'])
 
 war(
   name = 'gitiles',
diff --git a/lib/BUCK b/lib/BUCK
index a5f03b0..bdaaf61 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,4 +1,5 @@
-include_defs('//bucklets/maven_jar.bucklet')
+include_defs('//bucklets.defs')
+include_bucklets(['maven_jar.bucklet'])
 
 maven_jar(
   name = 'guava',
diff --git a/lib/guice/BUCK b/lib/guice/BUCK
index 1643150..59a4655 100644
--- a/lib/guice/BUCK
+++ b/lib/guice/BUCK
@@ -1,4 +1,5 @@
-include_defs('//bucklets/maven_jar.bucklet')
+include_defs('//bucklets.defs')
+include_bucklets(['maven_jar.bucklet'])
 
 VERSION = '4.0-beta'
 EXCLUDE = [
diff --git a/lib/jetty/BUCK b/lib/jetty/BUCK
index 525f94c..c007231 100644
--- a/lib/jetty/BUCK
+++ b/lib/jetty/BUCK
@@ -1,4 +1,5 @@
-include_defs('//bucklets/maven_jar.bucklet')
+include_defs('//bucklets.defs')
+include_bucklets(['maven_jar.bucklet'])
 
 VERS = '8.1.7.v20120910'
 EXCLUDE = ['about.html']
diff --git a/lib/jgit/BUCK b/lib/jgit/BUCK
index 8a83a08..9e7225c 100644
--- a/lib/jgit/BUCK
+++ b/lib/jgit/BUCK
@@ -1,4 +1,5 @@
-include_defs('//bucklets/maven_jar.bucklet')
+include_defs('//bucklets.defs')
+include_bucklets(['maven_jar.bucklet'])
 
 REPO = GERRIT
 VERS = '3.3.2.201404171909-r.128-g79448bc'
diff --git a/lib/slf4j/BUCK b/lib/slf4j/BUCK
index b04b670..410061f 100644
--- a/lib/slf4j/BUCK
+++ b/lib/slf4j/BUCK
@@ -1,4 +1,5 @@
-include_defs('//bucklets/maven_jar.bucklet')
+include_defs('//bucklets.defs')
+include_bucklets(['maven_jar.bucklet'])
 
 VERS = '1.6.1'
 
diff --git a/lib/soy/BUCK b/lib/soy/BUCK
index f97bdc0..050239d 100644
--- a/lib/soy/BUCK
+++ b/lib/soy/BUCK
@@ -1,4 +1,5 @@
-include_defs('//bucklets/maven_jar.bucklet')
+include_defs('//bucklets.defs')
+include_bucklets(['maven_jar.bucklet'])
 
 maven_jar(
   name = 'soy',
