diff --git a/lib/model-helper.js b/lib/model-helper.js
index 3b79297..b818222 100644
--- a/lib/model-helper.js
+++ b/lib/model-helper.js
@@ -79,12 +79,14 @@ var modelHelper = module.exports = {
     out.type = modelHelper.getPropType(out.type);
 
     if (out.type === 'array') {
-      var arrayProp = prop.type[0];
-      if (!arrayProp.type) arrayProp = {type: arrayProp};
-      out.items = modelHelper.LDLPropToSwaggerDataType(arrayProp);
-    }
+      var hasItemType = typeof prop.type !== 'string' && prop.type.length;
 
-    if (out.type === 'date') {
+      if (hasItemType) {
+        var arrayProp = prop.type[0];
+        if (!arrayProp.type) arrayProp = {type: arrayProp};
+        out.items = modelHelper.LDLPropToSwaggerDataType(arrayProp);
+      }
+    } else if (out.type === 'date') {
       out.type = 'string';
       out.format = 'date';
     } else if (out.type === 'buffer') {
diff --git a/test/model-helper.test.js b/test/model-helper.test.js
index 7bc8555..e13da9f 100644
--- a/test/model-helper.test.js
+++ b/test/model-helper.test.js
@@ -80,6 +80,22 @@ describe('model-helper', function() {
           type: 'string', format: 'date'
         }});
       });
+
+      it('converts [] type', function() {
+        var def = getDefinition({
+          array: []
+        });
+        var prop = def.properties.array;
+        expect(prop).to.eql({ type: 'array' });
+      });
+
+      it('converts "array" type', function() {
+        var def = getDefinition({
+          array: 'array'
+        });
+        var prop = def.properties.array;
+        expect(prop).to.eql({ type: 'array' });
+      });
     });
   });
 });