diff --git a/memmap.go b/memmap.go
index 735bdaf..494ba54 100644
--- a/memmap.go
+++ b/memmap.go
@@ -128,14 +128,16 @@
 	m.mu.RUnlock()
 	if ok {
 		return &os.PathError{"mkdir", name, ErrFileExists}
-	} else {
-		m.mu.Lock()
-		item := mem.CreateDir(name)
-		m.getData()[name] = item
-		m.registerWithParent(item)
-		m.mu.Unlock()
-		m.Chmod(name, perm)
 	}
+
+	m.mu.Lock()
+	item := mem.CreateDir(name)
+	m.getData()[name] = item
+	m.registerWithParent(item)
+	m.mu.Unlock()
+
+	m.Chmod(name, perm)
+
 	return nil
 }
 
@@ -313,7 +315,10 @@
 
 func (m *MemMapFs) Chmod(name string, mode os.FileMode) error {
 	name = normalizePath(name)
+
+	m.mu.RLock()
 	f, ok := m.getData()[name]
+	m.mu.RUnlock()
 	if !ok {
 		return &os.PathError{"chmod", name, ErrFileNotFound}
 	}
@@ -327,7 +332,10 @@
 
 func (m *MemMapFs) Chtimes(name string, atime time.Time, mtime time.Time) error {
 	name = normalizePath(name)
+
+	m.mu.RLock()
 	f, ok := m.getData()[name]
+	m.mu.RUnlock()
 	if !ok {
 		return &os.PathError{"chtimes", name, ErrFileNotFound}
 	}
