diff --git a/buffet/commands/command_dictionary.cc b/buffet/commands/command_dictionary.cc
index 3ab57a5..cbfd46b 100644
--- a/buffet/commands/command_dictionary.cc
+++ b/buffet/commands/command_dictionary.cc
@@ -173,13 +173,7 @@
   const base::DictionaryValue* schema_def = nullptr;
   if (!command_def_json->GetDictionaryWithoutPathExpansion(property_name,
                                                            &schema_def)) {
-    chromeos::Error::AddToPrintf(
-        error, FROM_HERE, errors::commands::kDomain,
-        errors::commands::kPropertyMissing,
-        "Command definition '%s' is missing property '%s'",
-        command_name.c_str(),
-        property_name);
-    return {};
+    return object_schema;
   }
 
   if (!object_schema->FromJson(schema_def, base_def, error)) {
diff --git a/buffet/commands/command_dictionary_unittest.cc b/buffet/commands/command_dictionary_unittest.cc
index c50a2ae..63492cc 100644
--- a/buffet/commands/command_dictionary_unittest.cc
+++ b/buffet/commands/command_dictionary_unittest.cc
@@ -36,12 +36,9 @@
   json = CreateDictionaryValue(R"({
     'base': {
       'reboot': {
-        'parameters': {'delay': 'integer'},
-        'results': {}
+        'parameters': {'delay': 'integer'}
       },
       'shutdown': {
-        'parameters': {},
-        'results': {}
       }
     }
   })");
@@ -59,24 +56,8 @@
   buffet::CommandDictionary dict;
   chromeos::ErrorPtr error;
 
-  // Command definition missing 'parameters' property.
-  auto json = CreateDictionaryValue("{'robot':{'jump':{'results':{}}}}");
-  EXPECT_FALSE(dict.LoadCommands(*json, "robotd", nullptr, &error));
-  EXPECT_EQ("parameter_missing", error->GetCode());
-  EXPECT_EQ("Command definition 'robot.jump' is missing property 'parameters'",
-            error->GetMessage());
-  error.reset();
-
-  // Command definition missing 'results' property.
-  json = CreateDictionaryValue("{'robot':{'jump':{'parameters':{}}}}");
-  EXPECT_FALSE(dict.LoadCommands(*json, "robotd", nullptr, &error));
-  EXPECT_EQ("parameter_missing", error->GetCode());
-  EXPECT_EQ("Command definition 'robot.jump' is missing property 'results'",
-            error->GetMessage());
-  error.reset();
-
   // Command definition is not an object.
-  json = CreateDictionaryValue("{'robot':{'jump':0}}");
+  auto json = CreateDictionaryValue("{'robot':{'jump':0}}");
   EXPECT_FALSE(dict.LoadCommands(*json, "robotd", nullptr, &error));
   EXPECT_EQ("type_mismatch", error->GetCode());
   EXPECT_EQ("Expecting an object for command 'jump'", error->GetMessage());
@@ -111,8 +92,7 @@
   // Redefine commands in different category.
   buffet::CommandDictionary dict;
   chromeos::ErrorPtr error;
-  auto json = CreateDictionaryValue(
-      "{'robot':{'jump':{'parameters':{},'results':{}}}}");
+  auto json = CreateDictionaryValue("{'robot':{'jump':{}}}");
   dict.LoadCommands(*json, "category1", nullptr, &error);
   ASSERT_DEATH(dict.LoadCommands(*json, "category2", nullptr, &error),
                ".*Definition for command 'robot.jump' overrides an "
diff --git a/buffet/etc/buffet/commands/test.json b/buffet/etc/buffet/commands/test.json
index 4d11f82..182192f 100644
--- a/buffet/etc/buffet/commands/test.json
+++ b/buffet/etc/buffet/commands/test.json
@@ -3,8 +3,6 @@
     "_jump": {
       "parameters": {
         "_height":"integer"
-      },
-      "results": {
       }
     }
   }
