diff --git a/libtar/extract.c b/libtar/extract.c
index 8860e50..620513c 100644
--- a/libtar/extract.c
+++ b/libtar/extract.c
@@ -89,7 +89,7 @@
 
 /* switchboard */
 int
-tar_extract_file(TAR *t, char *realname)
+tar_extract_file(TAR *t, char *realname, char *prefix)
 {
 	int i;
 	char *lnp;
@@ -115,7 +115,7 @@
 	}
 	else if (TH_ISLNK(t)) {
 		printf("link\n");
-		i = tar_extract_hardlink(t, realname);
+		i = tar_extract_hardlink(t, realname, prefix);
 	}
 	else if (TH_ISSYM(t)) {
 		printf("sym\n");
@@ -300,7 +300,7 @@
 
 /* hardlink */
 int
-tar_extract_hardlink(TAR * t, char *realname)
+tar_extract_hardlink(TAR * t, char *realname, char *prefix)
 {
 	char *filename;
 	char *linktgt = NULL;
@@ -325,7 +325,8 @@
 	}
 	else
 		linktgt = th_get_linkname(t);
-
+	char *newtgt = strdup(linktgt);
+	sprintf(linktgt, "%s/%s", prefix, newtgt);
 #ifdef DEBUG
 	printf("  ==> extracting: %s (link to %s)\n", filename, linktgt);
 #endif
diff --git a/libtar/libtar.h b/libtar/libtar.h
index 7a8f332..f2f423b 100644
--- a/libtar/libtar.h
+++ b/libtar/libtar.h
@@ -218,11 +218,11 @@
 /***** extract.c ***********************************************************/
 
 /* sequentially extract next file from t */
-int tar_extract_file(TAR *t, char *realname);
+int tar_extract_file(TAR *t, char *realname, char *prefix);
 
 /* extract different file types */
 int tar_extract_dir(TAR *t, char *realname);
-int tar_extract_hardlink(TAR *t, char *realname);
+int tar_extract_hardlink(TAR *t, char *realname, char *prefix);
 int tar_extract_symlink(TAR *t, char *realname);
 int tar_extract_chardev(TAR *t, char *realname);
 int tar_extract_blockdev(TAR *t, char *realname);
diff --git a/libtar/wrapper.c b/libtar/wrapper.c
index 7cd8ed1..4d82162 100644
--- a/libtar/wrapper.c
+++ b/libtar/wrapper.c
@@ -44,7 +44,7 @@
 			snprintf(buf, sizeof(buf), "%s/%s", prefix, filename);
 		else
 			strlcpy(buf, filename, sizeof(buf));
-		if (tar_extract_file(t, filename) != 0)
+		if (tar_extract_file(t, filename, prefix) != 0)
 			return -1;
 	}
 
@@ -86,7 +86,7 @@
 			continue;
 		}
 		*/
-		if (tar_extract_file(t, buf) != 0)  
+		if (tar_extract_file(t, buf, prefix) != 0)
 			return -1;
 	}
 	return (i == 1 ? 0 : -1);
