diff --git a/src/OpenGL/libGLESv2/Program.cpp b/src/OpenGL/libGLESv2/Program.cpp
index 24d1f3c..7eda6f5 100644
--- a/src/OpenGL/libGLESv2/Program.cpp
+++ b/src/OpenGL/libGLESv2/Program.cpp
@@ -254,6 +254,27 @@
 		return vertexBinary;
 	}
 
+	GLint Program::getFragDataLocation(const GLchar *name)
+	{
+		if(name && linked)
+		{
+			std::string baseName(name);
+			unsigned int subscript = GL_INVALID_INDEX;
+			baseName = ParseUniformName(baseName, &subscript);
+			for(glsl::VaryingList::iterator input = fragmentShader->varyings.begin(); input != fragmentShader->varyings.end(); ++input)
+			{
+				if(input->name == baseName)
+				{
+					int rowCount = VariableRowCount(input->type);
+					int colCount = VariableColumnCount(input->type);
+					return (subscript == GL_INVALID_INDEX) ? input->reg : input->reg + (rowCount > 1 ? colCount * subscript : subscript);
+				}
+			}
+		}
+
+		return -1;
+	}
+
 	void Program::bindAttributeLocation(GLuint index, const char *name)
 	{
 		if(index < MAX_VERTEX_ATTRIBS)
diff --git a/src/OpenGL/libGLESv2/Program.h b/src/OpenGL/libGLESv2/Program.h
index 56f7df7..9d4621e 100644
--- a/src/OpenGL/libGLESv2/Program.h
+++ b/src/OpenGL/libGLESv2/Program.h
@@ -182,6 +182,8 @@
 		void getInfoLog(GLsizei bufSize, GLsizei *length, char *infoLog);
 		void getAttachedShaders(GLsizei maxCount, GLsizei *count, GLuint *shaders);
 
+		GLint getFragDataLocation(const GLchar *name);
+
 		void getActiveAttribute(GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) const;
 		size_t getActiveAttributeCount() const;
 		GLint getActiveAttributeMaxLength() const;
diff --git a/src/OpenGL/libGLESv2/libGLESv3.cpp b/src/OpenGL/libGLESv2/libGLESv3.cpp
index 642e5bb..f995d2d 100644
--- a/src/OpenGL/libGLESv2/libGLESv3.cpp
+++ b/src/OpenGL/libGLESv2/libGLESv3.cpp
@@ -2280,11 +2280,6 @@
 
 	es2::Context *context = es2::getContext();
 
-	if(strstr(name, "gl_") == name)
-	{
-		return -1;
-	}
-
 	if(context)
 	{
 		es2::Program *programObject = context->getProgram(program);
@@ -2305,9 +2300,10 @@
 		{
 			return error(GL_INVALID_OPERATION, -1);
 		}
+
+		return programObject->getFragDataLocation(name);
 	}
 
-	UNIMPLEMENTED();
 	return -1;
 }
 
