diff --git a/src/transaction.rs b/src/transaction.rs
index 3800e44a0e84e86caa2227e1947d027130e470dd..487bf57ac2a0f1b211dbb0676ff71321c01ba610 100644
--- a/src/transaction.rs
+++ b/src/transaction.rs
@@ -565,12 +565,8 @@ impl<'a, D: Disk> Transaction<'a, D> {
         ctime: u64,
         ctime_nsec: u32,
     ) -> Result<TreeData<Node>> {
-        if name.contains(':') {
-            return Err(Error::new(EINVAL));
-        }
-
-        if self.find_node(parent_ptr, name).is_ok() {
-            return Err(Error::new(EEXIST));
+        if let Err(err)  = self.check_name(&parent_ptr, &name){
+            return Err(err);
         }
 
         unsafe {