diff --git a/src/common/kernel/give.c b/src/common/kernel/give.c
index e9ef9e063..2f80fda15 100644
--- a/src/common/kernel/give.c
+++ b/src/common/kernel/give.c
@@ -164,8 +164,10 @@ give_men(int n, unit * u, unit * u2, struct order * ord)
#endif
} else if ((u && unit_has_cursed_item(u)) || (u2 && unit_has_cursed_item(u2))) {
error = 78;
- } else if (fval(u, UFL_LOCKED) || fval(u, UFL_HUNGER) || is_cursed(u->attribs, C_SLAVE, 0)) {
+ } else if (fval(u, UFL_LOCKED) || is_cursed(u->attribs, C_SLAVE, 0)) {
error = 74;
+ } else if (u2 && fval(u, UFL_HUNGER)) {
+ error = 320;
} else if (u2 && (fval(u2, UFL_LOCKED)|| is_cursed(u2->attribs, C_SLAVE, 0))) {
error = 75;
} else if (u2 && u2->faction != u->faction && !alliedunit(u2, u->faction, HELP_GIVE) && !ucontact(u2, u)) {
diff --git a/src/res/messages.xml b/src/res/messages.xml
index b7e4a0e5f..a892e2e8a 100644
--- a/src/res/messages.xml
+++ b/src/res/messages.xml
@@ -5173,15 +5173,25 @@
"$unit($unit) in $region($region): '$order($command)' - This unit does not take anybody."
"$unit($unit) in $region($region): '$order($command)' - This unit does not take anybody."
-
+
"$unit($unit) in $region($region): '$order($command)' - Eine hungernde Einheit kann niemanden weggeben."
- "$unit($unit) in $region($region): '$order($command)' - This unit cannot give away anybody."
- "$unit($unit) in $region($region): '$order($command)' - This unit cannot give away anybody."
+ "$unit($unit) in $region($region): '$order($command)' - Hungry units cannot give anybody away."
+ "$unit($unit) in $region($region): '$order($command)' - Hungry units cannot give anybody away."
+
+
+
+
+
+
+
+ "$unit($unit) in $region($region): '$order($command)' - Diese Einheit kann niemanden weggeben."
+ "$unit($unit) in $region($region): '$order($command)' - This unit cannot give anybody away."
+ "$unit($unit) in $region($region): '$order($command)' - This unit cannot give anybody away."