diff --git a/src/collectd.c b/src/collectd.c
index d33d1d6..c4a5a5f 100644
--- a/src/collectd.c
+++ b/src/collectd.c
@@ -208,7 +208,7 @@ static int change_basedir (const char *orig_dir)
 	{
 		if (errno == ENOENT)
 		{
-			if (mkdir (orig_dir, 0755) == -1)
+			if (mkdir (orig_dir, 0777) == -1)
 			{
 				char errbuf[1024];
 				ERROR ("change_basedir: mkdir (%s): %s", orig_dir,
diff --git a/src/common.c b/src/common.c
index 0069a8b..5b7a74b 100644
--- a/src/common.c
+++ b/src/common.c
@@ -548,7 +548,7 @@ int check_create_dir (const char *file_orig)
 			{
 				if (errno == ENOENT)
 				{
-					if (mkdir (dir, 0755) == 0)
+					if (mkdir (dir, 0777) == 0)
 						break;
 
 					/* this might happen, if a different thread created
