diff --git a/src/libGLESv2/Program.cpp b/src/libGLESv2/Program.cpp
index b709dbc..ba649a6 100644
--- a/src/libGLESv2/Program.cpp
+++ b/src/libGLESv2/Program.cpp
@@ -32,6 +32,7 @@
     data = new unsigned char[bytes];
     memset(data, 0, bytes);
     dirty = true;
+    handlesSet = false;
 }
 
 Uniform::~Uniform()
@@ -1793,8 +1794,10 @@
 
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
+
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -1826,8 +1829,9 @@
 
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -1860,8 +1864,9 @@
 
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -1895,8 +1900,9 @@
 
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -1918,8 +1924,9 @@
 {
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -1948,8 +1955,9 @@
 
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -1980,8 +1988,9 @@
 
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -2003,8 +2012,9 @@
 {
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -2036,8 +2046,9 @@
 
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -2071,8 +2082,9 @@
 
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -2106,8 +2118,9 @@
 
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -2129,8 +2142,9 @@
 {
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -2190,8 +2204,9 @@
 
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -2222,8 +2237,9 @@
 
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -2254,8 +2270,9 @@
 
     Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
 
-    D3DXHANDLE constantPS = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
-    D3DXHANDLE constantVS = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+    D3DXHANDLE constantPS;
+    D3DXHANDLE constantVS;
+    getConstantHandles(targetUniform, &constantPS, &constantVS);
     IDirect3DDevice9 *device = getDevice();
 
     if (constantPS)
@@ -2658,4 +2675,17 @@
 
     return true;
 }
+
+void Program::getConstantHandles(Uniform *targetUniform, D3DXHANDLE *constantPS, D3DXHANDLE *constantVS)
+{
+    if (!targetUniform->handlesSet)
+    {
+        targetUniform->psHandle = mConstantTablePS->GetConstantByName(0, targetUniform->name.c_str());
+        targetUniform->vsHandle = mConstantTableVS->GetConstantByName(0, targetUniform->name.c_str());
+        targetUniform->handlesSet = true;
+    }
+
+    *constantPS = targetUniform->psHandle;
+    *constantVS = targetUniform->vsHandle;
+}
 }
diff --git a/src/libGLESv2/Program.h b/src/libGLESv2/Program.h
index 27a260a..d23513b 100644
--- a/src/libGLESv2/Program.h
+++ b/src/libGLESv2/Program.h
@@ -36,6 +36,10 @@
 
     unsigned char *data;
     bool dirty;
+
+    D3DXHANDLE vsHandle;
+    D3DXHANDLE psHandle;
+    bool handlesSet;
 };
 
 // Struct used for correlating uniforms/elements of uniform arrays to handles
@@ -147,6 +151,8 @@
     bool applyUniform3iv(GLint location, GLsizei count, const GLint *v);
     bool applyUniform4iv(GLint location, GLsizei count, const GLint *v);
 
+    void getConstantHandles(Uniform *targetUniform, D3DXHANDLE *constantPS, D3DXHANDLE *constantVS);
+
     void appendToInfoLog(const char *info, ...);
     void resetInfoLog();
 
