diff --git a/src/nodedef.cpp b/src/nodedef.cpp
index d589c5ec928aad03deb166437d433a52953f820b..57807449e4247fe2925afd001a19ce7c051fd043 100644
--- a/src/nodedef.cpp
+++ b/src/nodedef.cpp
@@ -64,6 +64,7 @@ void ContentFeatures::setInventoryTexture(std::string imgname,
 	
 	imgname += "^[forcesingle";
 	
+	inventory_texture_name = imgname;
 	inventory_texture = tsrc->getTextureRaw(imgname);
 }
 
@@ -84,6 +85,7 @@ void ContentFeatures::setInventoryTextureCube(std::string top,
 	imgname_full += left;
 	imgname_full += "{";
 	imgname_full += right;
+	inventory_texture_name = imgname_full;
 	inventory_texture = tsrc->getTextureRaw(imgname_full);
 }
 #endif
@@ -181,6 +183,10 @@ class CNodeDefManager: public IWritableNodeDefManager
 				if(f->special_material2)
 					f->special_material2->setTexture(0, f->special_atlas->atlas);
 			}
+			if(f->inventory_texture_name != ""){
+				f->inventory_texture =
+					tsrc->getTextureRaw(f->inventory_texture_name);
+			}
 		}
 #endif
 	}
diff --git a/src/nodedef.h b/src/nodedef.h
index 0430621e7da629e363a994f85d10e9cdf6a13a95..a093cb7998527dabe9a34724041311efd75acaf8 100644
--- a/src/nodedef.h
+++ b/src/nodedef.h
@@ -113,6 +113,7 @@ struct ContentFeatures
 	*/
 	TileSpec tiles[6];
 	
+	std::string inventory_texture_name;
 	video::ITexture *inventory_texture;
 
 	// Used currently for flowing liquids