diff --git a/doc/ChangeLog.html b/doc/ChangeLog.html
index dd1c97ce3..b1977aeab 100644
--- a/doc/ChangeLog.html
+++ b/doc/ChangeLog.html
@@ -496,6 +496,8 @@
     <LI>Fixed bug: Placement and removement of oil patch from David Slimp.
     <LI>Cleanup of video code.
     <LI>Fixed bug: Now starts if compiled without sound and with CCl. 
+    <LI>Fixed workers attack sounds and unorganic units death sounds from
+	David Slimp.
     <LI>+++
     </UL>
 
diff --git a/src/sound/unitsound.cpp b/src/sound/unitsound.cpp
index c84b7f1b7..52319912f 100644
--- a/src/sound/unitsound.cpp
+++ b/src/sound/unitsound.cpp
@@ -1258,9 +1258,9 @@ Remap Remaps[]={
     { "grunt-attack",
       "sword attack"},
     { "peasant-attack",
-      "fist"},
+      "peasant attack"},
     { "peon-attack",
-      "fist"},
+      "peasant attack"},
     { "ballista-attack",
       "catapult-ballista attack"},
     { "catapult-attack",
@@ -1351,13 +1351,13 @@ Remap Remaps[]={
 	//{ "orc-cannon-tower-attack",
 	//},
     { "peon-with-gold-attack",
-      "fist"},
+      "peasant attack"},
     { "peasant-with-gold-attack",
-      "fist"},
+      "peasant attack"},
     { "peon-with-wood-attack",
-      "fist"},
+      "peasant attack"},
     { "peasant-with-wood-attack",
-      "fist"}
+      "peasant attack"}
     //    { "",
     //      ""},
 };
@@ -1502,7 +1502,7 @@ global void MapUnitSounds(void) {
     int i;
     int nb;
     SoundId HumanHelp,HumanCityHelp,OrcHelp,OrcCityHelp;
-    SoundId HumanDead,OrcDead,BuildingDestroyed,ShipSinking;
+    SoundId HumanDead,OrcDead,BuildingDestroyed,ShipSinking,NonOrganicDead;
 
     if( SoundFildes!=-1 ) {
 	SetSoundRange(SoundIdForName("tree chopping"),32);
@@ -1522,6 +1522,7 @@ global void MapUnitSounds(void) {
 	OrcDead=SoundIdForName("basic orc voices dead");
 	BuildingDestroyed=SoundIdForName("building destroyed");
 	ShipSinking=SoundIdForName("ship sinking");
+	NonOrganicDead=SoundIdForName("explosion");
 	for(i=0;i<nb;i++) {
 	    UnitTypes[i].Sound.Selected.Sound=
 		SoundIdForName(UnitTypes[i].Sound.Selected.Name);
@@ -1551,7 +1552,11 @@ global void MapUnitSounds(void) {
 		    if (UnitTypes[i].SeaUnit) {
 			UnitTypes[i].Sound.Dead.Sound=ShipSinking;
 		    } else {
-			UnitTypes[i].Sound.Dead.Sound=OrcDead;
+			if (UnitTypes[i].Organic) {
+			    UnitTypes[i].Sound.Dead.Sound=OrcDead;
+			} else {
+			    UnitTypes[i].Sound.Dead.Sound=NonOrganicDead;
+			}
 		    }
 		}
 	    } else {
@@ -1564,7 +1569,11 @@ global void MapUnitSounds(void) {
 		    if (UnitTypes[i].SeaUnit) {
 			UnitTypes[i].Sound.Dead.Sound=ShipSinking;
 		    } else {
-			UnitTypes[i].Sound.Dead.Sound=HumanDead;
+			if (UnitTypes[i].Organic) {
+			    UnitTypes[i].Sound.Dead.Sound=HumanDead;
+			} else {
+			    UnitTypes[i].Sound.Dead.Sound=NonOrganicDead;
+			}
 		    }
 		}
 	    }