diff --git a/CHANGES.txt b/CHANGES.txt
index a30ae10..3982473 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -46,6 +46,8 @@
  
 BUG FIXES
 
+PIG-5031: Tez failing to compile when replicate join is done with a limit vertex on left (knoguchi)
+
 PIG-5019: Pig generates tons of warnings for udf with enabled warnings aggregation (murshyd via rohini)
 
 PIG-4974: A simple map reference fail to cast (knoguchi)
diff --git a/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/TezCompiler.java b/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/TezCompiler.java
index 46f7f72..9395749 100644
--- a/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/TezCompiler.java
+++ b/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/TezCompiler.java
@@ -849,6 +849,7 @@
             } else {
                 curTezOp.plan.addAsLeaf(op);
             }
+            phyToTezOpMap.put(op, curTezOp);
 
         } catch (Exception e) {
             int errCode = 2034;
diff --git a/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Limit-4.gld b/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Limit-4.gld
new file mode 100644
index 0000000..4ccfb85
--- /dev/null
+++ b/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Limit-4.gld
@@ -0,0 +1,61 @@
+#--------------------------------------------------
+# There are 1 DAGs in the session
+#--------------------------------------------------
+#--------------------------------------------------
+# TEZ DAG plan: pig-0_scope-0
+#--------------------------------------------------
+Tez vertex scope-42	->	Tez vertex scope-39,
+Tez vertex scope-32	->	Tez vertex scope-39,
+Tez vertex scope-39
+
+Tez vertex scope-42
+# Plan on vertex
+Local Rearrange[tuple]{int}(false) - scope-28	->	 scope-39
+|   |
+|   Project[int][0] - scope-24
+|
+|---b: New For Each(false,false)[bag] - scope-22
+    |   |
+    |   Cast[int] - scope-17
+    |   |
+    |   |---Project[bytearray][0] - scope-16
+    |   |
+    |   Cast[int] - scope-20
+    |   |
+    |   |---Project[bytearray][1] - scope-19
+    |
+    |---b: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-15
+Tez vertex scope-32
+# Plan on vertex
+a: Split - scope-43
+|   |
+|   a: Store(file:///tmp/pigoutput/a:org.apache.pig.builtin.PigStorage) - scope-11
+|   |
+|   POValueOutputTez - scope-38	->	 [scope-39]
+|   |
+|   |---c: Limit - scope-14
+|
+|---a: New For Each(false,false)[bag] - scope-7
+    |   |
+    |   Cast[int] - scope-2
+    |   |
+    |   |---Project[bytearray][0] - scope-1
+    |   |
+    |   Cast[int] - scope-5
+    |   |
+    |   |---Project[bytearray][1] - scope-4
+    |
+    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-0
+Tez vertex scope-39
+# Plan on vertex
+d: Store(file:///tmp/pigoutput/d:org.apache.pig.builtin.PigStorage) - scope-31
+|
+|---d: FRJoin[tuple] - scope-25	<-	 scope-42
+    |   |
+    |   Project[int][0] - scope-23
+    |   |
+    |   Project[int][0] - scope-24
+    |
+    |---c: Limit - scope-41
+        |
+        |---POValueInputTez - scope-40	<-	 scope-32
diff --git a/test/org/apache/pig/tez/TestTezCompiler.java b/test/org/apache/pig/tez/TestTezCompiler.java
index b238975..428b16e 100644
--- a/test/org/apache/pig/tez/TestTezCompiler.java
+++ b/test/org/apache/pig/tez/TestTezCompiler.java
@@ -353,6 +353,19 @@
     }
 
     @Test
+    public void testLimitReplJoin() throws Exception {
+        String query =
+                "a = load 'file:///tmp/input' as (x:int, y:int);" +
+                "b = load 'file:///tmp/input' as (x:int, y:int);" +
+                "c = limit a 1;" +
+                "d = join c by x, b by x using 'replicated';" +
+                "store a into 'file:///tmp/pigoutput/a';" +
+                "store d into 'file:///tmp/pigoutput/d';";
+
+        run(query, "test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Limit-4.gld");
+    }
+
+    @Test
     public void testDistinct() throws Exception {
         String query =
                 "a = load 'file:///tmp/input' as (x:int, y:int);" +
