diff --git a/ocfl/data/validation-errors.json b/ocfl/data/validation-errors.json
index 1f53481..b3b07ff 100644
--- a/ocfl/data/validation-errors.json
+++ b/ocfl/data/validation-errors.json
@@ -86,9 +86,16 @@
        "en": "OCFL Object version directory %s includes an illegal file (%s)"
     }
   },
+  "E017": {
+    "params": ["where"],
+    "description": {
+       "en": "OCFL Object %s inventory contentDirectory must be a string and must not contain a forward slash (/)"
+    }
+  },
   "E018": {
+    "params": ["where"],
     "description": {
-       "en": "Content directory must not contain a forward slash (/) or be . or .."
+       "en": "OCFL Object %s inventory contentDirectory must not be either . or .."
     }
   },
   "E023": {
diff --git a/ocfl/inventory_validator.py b/ocfl/inventory_validator.py
index 44a15b4..021798b 100644
--- a/ocfl/inventory_validator.py
+++ b/ocfl/inventory_validator.py
@@ -79,7 +79,9 @@ class InventoryValidator():
         if 'contentDirectory' in inventory:
             # Careful only to set self.content_directory if value is safe
             cd = inventory['contentDirectory']
-            if not isinstance(cd, str) or '/' in cd or cd in ['.', '..']:
+            if not isinstance(cd, str) or '/' in cd:
+                self.error("E017")
+            elif cd in ('.', '..'):
                 self.error("E018")
             else:
                 self.content_directory = cd

diff --git a/tests/test_inventory_validator.py b/tests/test_inventory_validator.py
index bc87693..1551ca1 100644
--- a/tests/test_inventory_validator.py
+++ b/tests/test_inventory_validator.py
@@ -66,7 +66,10 @@ class TestAll(unittest.TestCase):
         iv = InventoryValidator(log=log)
         log.clear()
         iv.validate({"id": "like:uri", "contentDirectory": "not/allowed"})
-        self.assertIn('E018', log.errors)
+        self.assertIn('E017', log.errors)
+        log.clear()
+        iv.validate({"id": "like:uri", "contentDirectory": ["s"]})
+        self.assertIn('E017', log.errors)
         log.clear()
         iv.validate({"id": "like:uri", "contentDirectory": ".."})
         self.assertIn('E018', log.errors)

Fix validation error for forward slash in `contentDirectory`
From https://github.com/OCFL/fixtures/pull/82 the error for this should be `E017` instead of `E018`
tests/test_inventory_validator.py::TestAll::test_validate
tests/test_inventory_validator.py::TestAll::test_check_content_path tests/test_inventory_validator.py::TestAll::test_check_digests_present_and_used tests/test_inventory_validator.py::TestAll::test_check_logical_path tests/test_inventory_validator.py::TestAll::test_digest_regex tests/test_inventory_validator.py::TestAll::test_init tests/test_inventory_validator.py::TestAll::test_validate_as_prior_version tests/test_inventory_validator.py::TestAll::test_validate_fixity tests/test_inventory_validator.py::TestAll::test_validate_manifest tests/test_inventory_validator.py::TestAll::test_validate_state_block tests/test_inventory_validator.py::TestAll::test_validate_version_sequence tests/test_inventory_validator.py::TestAll::test_validate_versions