diff --git a/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java b/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java
index 409d9be..b7923bc 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java
@@ -60,6 +60,9 @@
       "You must be owner of the parent project \"%s\" to create a nested project."
           + SEE_DOCUMENTATION_MSG;
 
+  private static final String PROJECT_CANNOT_CONTAINS_SPACES_MSG =
+      "Project name cannot contains spaces." + SEE_DOCUMENTATION_MSG;
+
   private static final String ROOT_PROJECT_CANNOT_CONTAINS_SLASHES_MSG =
       "Root project name cannot contains slashes." + SEE_DOCUMENTATION_MSG;
 
@@ -107,6 +110,11 @@
       throws ValidationException {
     String name = args.getProjectName();
     log.debug("validating creation of {}", name);
+    if (name.contains(" ")) {
+      throw new ValidationException(
+          String.format(PROJECT_CANNOT_CONTAINS_SPACES_MSG, documentationUrl));
+    }
+
     ProjectControl parentCtrl = args.newParent;
     if (parentCtrl.getUser().getCapabilities().canAdministrateServer()) {
       // Admins can bypass any rules to support creating projects that doesn't
diff --git a/src/main/resources/Documentation/about.md b/src/main/resources/Documentation/about.md
index a967a52..216ccc2 100644
--- a/src/main/resources/Documentation/about.md
+++ b/src/main/resources/Documentation/about.md
@@ -1,5 +1,7 @@
 This plugin enforce a project group structure and restrict project creation
-within this structure to project group owners only.
+within this structure to project group owners only. Besides the rules the plugin
+enforce for the project group structure, it also enforce other naming
+rules like project name cannot contain spaces.
 
 To start creating a project group structure, simply create a root project, i.e.
 a project which inherits rights from `All-Projects`. The root project name
diff --git a/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java b/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java
index a5609bb..f5adb68 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java
@@ -55,6 +55,17 @@
   }
 
   @Test
+  public void shouldProjectWithASpaceInTheirName() throws Exception {
+    ProjectInput in = new ProjectInput();
+    in.permissionsOnly = true;
+    RestResponse r =
+        userRestSession.put("/projects/" + Url.encode("project with space"), in);
+    r.assertConflict();
+    assertThat(r.getEntityContent())
+        .contains("Project name cannot contains spaces");
+  }
+
+  @Test
   public void shouldAllowAnyUsersToCreateUnderAllProjects() throws Exception {
     ProjectInput in = new ProjectInput();
     in.permissionsOnly = true;
