diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c
index 31e87f44a6a7dd4a2d46f6ee4e7efc8277d15356..f6f133c5114aee5bf8036ccfe35288266582f69a 100644
--- a/source/blender/makesrna/intern/rna_particle.c
+++ b/source/blender/makesrna/intern/rna_particle.c
@@ -475,7 +475,8 @@ static void rna_ParticleSystem_uv_on_emitter(ParticleSystem *particlesystem, Rep
 	if (particle_no < totpart) {
 
 		/* get uvco & mcol */
-		num = particle->num_dmcache;
+		num = (ELEM(particle->num_dmcache, DMCACHE_ISCHILD, DMCACHE_NOTFOUND)) ?
+		          particle->num : particle->num_dmcache;
 
 		if (num == DMCACHE_NOTFOUND)
 			if (particle->num < modifier->dm->getNumTessFaces(modifier->dm))