diff --git a/common/util.c b/common/util.c
index 467aa4b5..78d46a2a 100644
--- a/common/util.c
+++ b/common/util.c
@@ -138,40 +138,3 @@ bool parse_boolean(const char *boolean, bool current) {
 	// All other values are false to match i3
 	return false;
 }
-
-char* resolve_path(const char* path) {
-	struct stat sb;
-	ssize_t r;
-	int i;
-	char *current = NULL;
-	char *resolved = NULL;
-
-	if(!(current = strdup(path))) {
-		return NULL;
-	}
-	for (i = 0; i < 16; ++i) {
-		if (lstat(current, &sb) == -1) {
-			goto failed;
-		}
-		if((sb.st_mode & S_IFMT) != S_IFLNK) {
-			return current;
-		}
-		if (!(resolved = malloc(sb.st_size + 1))) {
-			goto failed;
-		}
-		r = readlink(current, resolved, sb.st_size);
-		if (r == -1 || r > sb.st_size) {
-			goto failed;
-		}
-		resolved[r] = '\0';
-		free(current);
-		current = strdup(resolved);
-		free(resolved);
-		resolved = NULL;
-	}
-
-failed:
-	free(resolved);
-	free(current);
-	return NULL;
-}
diff --git a/include/util.h b/include/util.h
index c39c92b1..56ca2eb8 100644
--- a/include/util.h
+++ b/include/util.h
@@ -59,13 +59,4 @@ uint32_t parse_color(const char *color);
  */
 bool parse_boolean(const char *boolean, bool current);
 
-/**
- * Given a path string, recurseively resolves any symlinks to their targets
- * (which may be a file, directory) and returns the result.
- * argument is returned. Caller must free the returned buffer.
- * If an error occures, if the path does not exist or if the path corresponds
- * to a dangling symlink, NULL is returned.
- */
-char* resolve_path(const char* path);
-
 #endif