diff --git a/modules/asset_loader/include/vkcv/asset/asset_loader.hpp b/modules/asset_loader/include/vkcv/asset/asset_loader.hpp
index f4330c014a7fec04d2f809fb3abe932675021109..64ece270e7c59a94afbdd810c8ef5385a556601b 100644
--- a/modules/asset_loader/include/vkcv/asset/asset_loader.hpp
+++ b/modules/asset_loader/include/vkcv/asset/asset_loader.hpp
@@ -81,13 +81,25 @@ enum class PrimitiveType : uint32_t {
     TEXCOORD_0 = 3,
 	TEXCOORD_1 = 4
 };
+
+/* These integer values are used the same way in OpenGL, Vulkan and glTF. This
+ * enum is not needed for translation, it's only for the programmers
+ * convenience (easier to read in if/switch statements etc). While this enum
+ * exists in (almost) the same definition in the fx-gltf library, we want to
+ * avoid exposing that dependency, thus it is re-defined here. */
+enum class ComponentType : uint16_t {
+	NONE = 0, INT8 = 5120, UINT8 = 5121, INT16 = 5122, UINT16 = 5123,
+	UINT32 = 5125, FLOAT32 = 5126
+};
+
+
 /* This struct describes one vertex attribute of a vertex buffer. */
 typedef struct {
     PrimitiveType type;			// POSITION, NORMAL, ...
     uint32_t offset;			// offset in bytes
     uint32_t length;			// length of ... in bytes
     uint32_t stride;			// stride in bytes
-    uint16_t componentType;		// eg. 5126 for float
+	ComponentType componentType;		// eg. 5126 for float
     uint8_t  componentCount;	// eg. 3 for vec3
 } VertexAttribute;
 
diff --git a/modules/asset_loader/src/vkcv/asset/asset_loader.cpp b/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
index 87b2860a734c7abfad6a8d43c8369fe476b6a557..815ad61af1f0cf143d9453a7992104bd3156f968 100644
--- a/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
+++ b/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
@@ -365,7 +365,7 @@ int loadScene(const std::string &path, Scene &scene){
                 attribute.offset = sceneObjects.bufferViews[accessor.bufferView].byteOffset;
                 attribute.length = sceneObjects.bufferViews[accessor.bufferView].byteLength;
                 attribute.stride = sceneObjects.bufferViews[accessor.bufferView].byteStride;
-		attribute.componentType = static_cast<ComponentType>(accessor.componentType);
+		        attribute.componentType = static_cast<ComponentType>(accessor.componentType);
 
                 if (convertTypeToInt(accessor.type) != 10) {
                     attribute.componentCount = convertTypeToInt(accessor.type);
diff --git a/projects/first_mesh/src/main.cpp b/projects/first_mesh/src/main.cpp
index beb0bab651e375516ed59ff30b1c5e742076bcd9..5a051fb5783ccc3d89324582350108841abb6263 100644
--- a/projects/first_mesh/src/main.cpp
+++ b/projects/first_mesh/src/main.cpp
@@ -31,7 +31,7 @@ int main(int argc, const char** argv) {
 
 	vkcv::asset::Scene mesh;
 
-	const char* path = argc > 1 ? argv[1] : "resources/Szene/Szene.gltf";
+	const char* path = argc > 1 ? argv[1] : "resources/Sponza/Sponza.gltf";
 	int result = vkcv::asset::loadScene(path, mesh);
 
 	if (result == 1) {