diff --git a/src/craftdef.cpp b/src/craftdef.cpp
index 5c7c3a4659d5012ace8901179e61c331cdedafa2..9cd1d8c7ef12f2823c1e6622ce1bf787638c260d 100644
--- a/src/craftdef.cpp
+++ b/src/craftdef.cpp
@@ -525,7 +525,7 @@ bool CraftDefinitionShapeless::check(const CraftInput &input, IGameDef *gamedef)
 	}
 
 	// Try with all permutations of the recipe
-	std::vector<std::string> recipe_copy = recipe;
+	std::vector<std::string> recipe_copy = craftGetItemNames(recipe, gamedef);
 	// Start from the lexicographically first permutation (=sorted)
 	std::sort(recipe_copy.begin(), recipe_copy.end());
 	//while(std::prev_permutation(recipe_copy.begin(), recipe_copy.end())){}