diff --git a/apiclient/schema.py b/apiclient/schema.py
index ddcd670..cfed7de 100644
--- a/apiclient/schema.py
+++ b/apiclient/schema.py
@@ -244,9 +244,13 @@
     if stype == 'object':
       self.emitEnd('{', schema.get('description', ''))
       self.indent()
-      for pname, pschema in schema.get('properties', {}).iteritems():
-        self.emitBegin('"%s": ' % pname)
-        self._to_str_impl(pschema)
+      if 'properties' in schema:
+        for pname, pschema in schema.get('properties', {}).iteritems():
+          self.emitBegin('"%s": ' % pname)
+          self._to_str_impl(pschema)
+      elif 'additionalProperties' in schema:
+        self.emitBegin('"a_key": ')
+        self._to_str_impl(schema['additionalProperties'])
       self.undent()
       self.emit('},')
     elif '$ref' in schema:
diff --git a/tests/data/zoo.json b/tests/data/zoo.json
index eec8b36..0df7f7b 100644
--- a/tests/data/zoo.json
+++ b/tests/data/zoo.json
@@ -122,6 +122,26 @@
     }
    }
   },
+  "AnimalMap": {
+   "id": "AnimalMap",
+   "type": "object",
+   "properties": {
+    "etag": {
+     "type": "string"
+    },
+    "animals": {
+     "type": "object",
+     "description": "Map of animal id to animal data",
+     "additionalProperties": {
+      "$ref": "Animal"
+     }
+    },
+    "kind": {
+     "type": "string",
+     "default": "zoo#animalMap"
+    }
+   }
+  },
   "LoadFeed": {
    "id": "LoadFeed",
    "type": "object",
diff --git a/tests/test_schema.py b/tests/test_schema.py
index 2cdb200..1d47790 100644
--- a/tests/test_schema.py
+++ b/tests/test_schema.py
@@ -126,6 +126,28 @@
 
     self.assertEqual(feed, eval(self.sc.prettyPrintByName('AnimalFeed')))
 
+  def test_additional_properties(self):
+    items = {
+        'animals': {
+          'a_key': {
+            'photo': {
+              'hash': 'A String',
+              'hashAlgorithm': 'A String',
+              'filename': 'A String',
+              'type': 'A String',
+              'size': 42
+              },
+            'kind': 'zoo#animal',
+            'etag': 'A String',
+            'name': 'A String'
+          }
+        },
+        'kind': 'zoo#animalMap',
+        'etag': 'A String'
+      }
+
+    self.assertEqual(items, eval(self.sc.prettyPrintByName('AnimalMap')))
+
   def test_unknown_name(self):
     self.assertRaises(KeyError,
         self.sc.prettyPrintByName, 'UknownSchemaThing')
@@ -133,4 +155,3 @@
 
 if __name__ == '__main__':
   unittest.main()
-
