diff --git a/init/Android.mk b/init/Android.mk
index 4df4489..606c199 100644
--- a/init/Android.mk
+++ b/init/Android.mk
@@ -17,7 +17,11 @@
 	ueventd_parser.c \
 	watchdogd.c
 
-LOCAL_CFLAGS    += -Wno-unused-parameter
+LOCAL_CFLAGS += \
+    -std=gnu11 \
+    -Wall \
+    -Werror -Wno-error=deprecated-declarations \
+    -Wno-unused-parameter \
 
 ifeq ($(strip $(INIT_BOOTCHART)),true)
 LOCAL_SRC_FILES += bootchart.c
diff --git a/init/builtins.c b/init/builtins.c
index 303a8ca..2521daf 100644
--- a/init/builtins.c
+++ b/init/builtins.c
@@ -221,16 +221,15 @@
          */
         zap_stdio();
         char *exec_args[100];
-        int i;
-        int num_process_args = nargs;
+        size_t num_process_args = nargs;
 
         memset(exec_args, 0, sizeof(exec_args));
         if (num_process_args > ARRAY_SIZE(exec_args) - 1) {
-            ERROR("exec called with %d args, limit is %d", num_process_args,
+            ERROR("exec called with %zu args, limit is %zu", num_process_args,
                   ARRAY_SIZE(exec_args) - 1);
             _exit(1);
         }
-        for (i = 1; i < num_process_args; i++)
+        for (size_t i = 1; i < num_process_args; i++)
             exec_args[i - 1] = args[i];
 
         if (execv(exec_args[0], exec_args) == -1) {
diff --git a/init/readme.txt b/init/readme.txt
index 132a869..e5406ed 100644
--- a/init/readme.txt
+++ b/init/readme.txt
@@ -123,7 +123,7 @@
    Triggers of this form occur when the property <name> is set
    to the specific value <value>.
 
-   One can also test Mutliple properties to execute a group
+   One can also test multiple properties to execute a group
    of commands. For example:
 
    on property:test.a=1 && property:test.b=1
