--- a/newfs_hfs.tproj/makehfs.c
+++ b/newfs_hfs.tproj/makehfs.c
@@ -376,7 +376,7 @@ make_hfsplus(const DriveInfo *driveInfo, hfsparams_t *defaults)
 	if ( (temp & 0x01FF) != 0 )
 		temp = (temp + kBytesPerSector) & 0xFFFFFE00;
 	
-	nodeBuffer = valloc((size_t)temp);
+	(void)posix_memalign(&nodeBuffer, sysconf(_SC_PAGESIZE), (size_t)temp);
 	if (nodeBuffer == NULL)
 		err(1, NULL);
 
@@ -1814,7 +1814,7 @@ ClearDisk(const DriveInfo *driveInfo, UInt64 startingSector, UInt32 numberOfSect
 
 	bufferSize = bufferSizeInSectors << kLog2SectorSize;
 
-	tempBuffer = valloc((size_t)bufferSize);
+	(void)posix_memalign(&tempBuffer, sysconf(_SC_PAGESIZE), (size_t)bufferSize);
 	if (tempBuffer == NULL)
 		err(1, NULL);
 
