diff --git a/Interaction/Widgets/Testing/Cxx/CMakeLists.txt b/Interaction/Widgets/Testing/Cxx/CMakeLists.txt
index 30bb2250bc94de97f37bd09eb243f3782a8a9f73..05d38056fade5f99bda4f488a5582a893aaca275 100644
--- a/Interaction/Widgets/Testing/Cxx/CMakeLists.txt
+++ b/Interaction/Widgets/Testing/Cxx/CMakeLists.txt
@@ -28,7 +28,6 @@ vtk_add_test_cxx(${vtk-module}CxxTests tests
   TestHandleWidget.cxx
   TestHandleWidget2D.cxx
   TestImageActorContourWidget.cxx
-  TestImageTracerWidget.cxx
   TestImplicitCylinderWidget.cxx
   TestImplicitCylinderWidget2.cxx
   TestImplicitPlaneWidget.cxx
@@ -124,6 +123,12 @@ if(VTK_RENDERING_BACKEND STREQUAL "OpenGL")
     )
 endif()
 
+if(VTK_RENDERING_BACKEND STREQUAL "OpenGL2")
+  vtk_add_test_cxx(${vtk-module}CxxTests tests
+    TestImageTracerWidget.cxx
+    )
+endif()
+
 set(all_tests
   ${tests}
   ${no_valid_tests}
diff --git a/Interaction/Widgets/Testing/Cxx/TestImageTracerWidget.cxx b/Interaction/Widgets/Testing/Cxx/TestImageTracerWidget.cxx
index f9577344c3fdebcc9eee6e181a7700d078ada3b0..966c7e34849c3a23460f60a087b69e5e2cb66595 100644
--- a/Interaction/Widgets/Testing/Cxx/TestImageTracerWidget.cxx
+++ b/Interaction/Widgets/Testing/Cxx/TestImageTracerWidget.cxx
@@ -223,10 +223,7 @@ const char ImageTracerWidgetEventLog[] =
   "MouseMoveEvent 353 145 0 0 0 0 Shift_L\n"
   "MouseMoveEvent 352 147 0 0 0 0 Shift_L\n"
   "MouseMoveEvent 352 148 0 0 0 0 Shift_L\n"
-  "MouseMoveEvent 352 150 0 0 0 0 Shift_L\n"
-  "MouseMoveEvent 351 152 0 0 0 0 Shift_L\n"
-  "MouseMoveEvent 350 156 0 0 0 0 Shift_L\n"
-  "MouseMoveEvent 349 158 0 0 0 0 Shift_L\n"
+  "MouseMoveEvent 352 149 0 0 0 0 Shift_L\n"
   "RightButtonReleaseEvent 349 158 0 0 0 0 Shift_L\n"
   "MouseMoveEvent 381 179 0 0 0 0 Shift_L\n"
   "LeftButtonPressEvent 381 179 0 0 0 0 Shift_L\n"
diff --git a/Rendering/OpenGL2/Testing/Cxx/CMakeLists.txt b/Rendering/OpenGL2/Testing/Cxx/CMakeLists.txt
index 4505385f43977cc9083d22da3acb1ef6b0f98249..7e8f2ade3c26d3fc4f1a400238aa0ecba5fc92ae 100644
--- a/Rendering/OpenGL2/Testing/Cxx/CMakeLists.txt
+++ b/Rendering/OpenGL2/Testing/Cxx/CMakeLists.txt
@@ -22,6 +22,7 @@ vtk_add_test_cxx(${vtk-module}CxxTests tests
   TestLightingMapNormalsPass.cxx
   TestOffscreenRenderingResize.cxx
   TestPointFillPass.cxx
+  TestPropPicker2Renderers.cxx,NO_DATA
   TestPointGaussianMapper.cxx
   TestPointGaussianMapperOpacity.cxx
   TestRemoveActorNonCurrentContext.cxx
diff --git a/Rendering/OpenGL2/Testing/Cxx/TestPropPicker2Renderers.cxx b/Rendering/OpenGL2/Testing/Cxx/TestPropPicker2Renderers.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..ef8ac66ad574a39868c7f979dadc9c748b590cf6
--- /dev/null
+++ b/Rendering/OpenGL2/Testing/Cxx/TestPropPicker2Renderers.cxx
@@ -0,0 +1,206 @@
+/*=========================================================================
+
+  Program:   Visualization Toolkit
+  Module:    TestImageTracerWidget.cxx
+
+  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
+  All rights reserved.
+  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
+
+     This software is distributed WITHOUT ANY WARRANTY; without even
+     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+     PURPOSE.  See the above copyright notice for more information.
+
+=========================================================================*/
+
+
+#include <vtkActor.h>
+#include <vtkAssemblyPath.h>
+#include <vtkCamera.h>
+#include <vtkCubeSource.h>
+#include <vtkInteractorEventRecorder.h>
+#include <vtkInteractorStyleTrackballCamera.h>
+#include <vtkNew.h>
+#include <vtkObjectFactory.h>
+#include <vtkPoints.h>
+#include <vtkPolyData.h>
+#include <vtkPolyDataMapper.h>
+#include <vtkProperty.h>
+#include <vtkPropPicker.h>
+#include <vtkRendererCollection.h>
+#include <vtkRenderWindow.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkRenderer.h>
+#include <vtkPolyDataReader.h>
+#include <vtkPolyDataNormals.h>
+#include <vtkSphereSource.h>
+
+bool corner = true;
+//bool corner = false;
+
+double sphereColor[3] = { 0.73, 0.33, 0.83 };
+double sphereColorPicked[3] = { 1.0, 1., 0.0 };
+double sphereColor2[3] = { 0.33, 0.73, 0.83 };
+
+// Handle mouse events
+class MouseInteractorStyle2 : public vtkInteractorStyleTrackballCamera
+{
+public:
+  static MouseInteractorStyle2* New();
+  vtkTypeMacro(MouseInteractorStyle2, vtkInteractorStyleTrackballCamera);
+
+
+  virtual void OnLeftButtonDown() VTK_OVERRIDE
+  {
+    int* clickPos = this->GetInteractor()->GetEventPosition();
+
+    vtkRenderWindow* renwin = this->GetInteractor()->GetRenderWindow();
+    vtkRenderer *aren = this->GetInteractor()->FindPokedRenderer(clickPos[0], clickPos[1]);
+
+    vtkNew<vtkPropPicker> picker2;
+    if (0 != picker2->Pick(clickPos[0], clickPos[1], 0, aren))
+    {
+      vtkAssemblyPath* path = picker2->GetPath();
+      vtkProp* prop = path->GetFirstNode()->GetViewProp();
+      vtkActor* actor = vtkActor::SafeDownCast(prop);
+      actor->GetProperty()->SetColor(sphereColorPicked);
+    }
+    else
+      renwin->SetCurrentCursor(VTK_CURSOR_DEFAULT);
+
+    renwin->Render();
+  }
+
+private:
+
+};
+
+vtkStandardNewMacro(MouseInteractorStyle2);
+
+
+void InitRepresentation(vtkRenderer* renderer)
+{
+  //Sphere
+  vtkNew<vtkSphereSource> sphereSource;
+  sphereSource->SetPhiResolution(24);
+  sphereSource->SetThetaResolution(24);
+  sphereSource->SetRadius(1.75);
+  sphereSource->Update();
+
+  vtkNew<vtkActor> sphere;
+  vtkNew<vtkPolyDataMapper> sphereM;
+  sphereM->SetInputConnection(sphereSource->GetOutputPort());
+  sphereM->Update();
+  sphere->SetMapper(sphereM);
+  sphere->GetProperty()->BackfaceCullingOff();
+  sphere->GetProperty()->SetColor(sphereColor);
+  sphere->SetPosition(0, 0, 2);
+  renderer->AddActor(sphere);
+}
+
+const char PropPickerEventLog[] =
+  "# StreamVersion 1\n"
+  "LeftButtonPressEvent 160 150 0 0 0 0\n"
+  "LeftButtonReleaseEvent 160 150 0 0 0 0\n";
+
+
+int TestPropPicker2Renderers(int, char *[])
+{
+  vtkNew<vtkRenderer> renderer0;
+  renderer0->SetUseDepthPeeling(1);
+  renderer0->SetMaximumNumberOfPeels(8);
+  renderer0->LightFollowCameraOn();
+  renderer0->TwoSidedLightingOn();
+  renderer0->SetOcclusionRatio(0.0);
+
+  renderer0->GetActiveCamera()->SetParallelProjection(1);
+
+  vtkNew<vtkRenderWindow> renWin;
+  renWin->SetAlphaBitPlanes(1);
+  renWin->SetMultiSamples(0);
+  renWin->AddRenderer(renderer0);
+
+  vtkNew<vtkRenderWindowInteractor> iren;
+  iren->SetRenderWindow(renWin);
+  iren->LightFollowCameraOff();
+
+  // Set the custom stype to use for interaction.
+  vtkNew<MouseInteractorStyle2> istyle;
+
+  iren->SetInteractorStyle(istyle);
+
+
+  if (corner) //corner
+  {
+    vtkNew<vtkRenderer> renderer1;
+    renderer1->SetViewport(0, 0, 0.1, 0.1);
+    renWin->AddRenderer(renderer1);
+
+    vtkNew<vtkSphereSource> sphereSource;
+    vtkNew<vtkPolyDataMapper> mapper;
+    mapper->SetInputConnection(sphereSource->GetOutputPort());
+    mapper->Update();
+
+    vtkNew<vtkActor> actor;
+    actor->PickableOff();
+    actor->SetMapper(mapper);
+    renderer1->AddActor(actor);
+  }
+
+  {
+    vtkNew<vtkCubeSource> reader;
+    reader->SetXLength(80);
+    reader->SetYLength(50);
+    reader->SetZLength(1);
+    reader->Update();
+
+    vtkNew<vtkPolyDataNormals> norm;
+    norm->SetInputConnection(reader->GetOutputPort());
+    norm->ComputePointNormalsOn();
+    norm->SplittingOff();
+    norm->Update();
+
+    vtkNew<vtkPolyDataMapper> mapper;
+    mapper->ImmediateModeRenderingOn();
+    mapper->ScalarVisibilityOff();
+    mapper->SetResolveCoincidentTopologyToPolygonOffset();
+    mapper->SetInputConnection(norm->GetOutputPort());
+    mapper->Update();
+
+    vtkNew<vtkActor> actor;
+    actor->SetMapper(mapper);
+    actor->GetProperty()->BackfaceCullingOff();
+    actor->GetProperty()->SetColor(0.93, 0.5, 0.5);
+
+      {
+        renderer0->AddActor(actor);
+
+        InitRepresentation(renderer0);
+
+        renderer0->ResetCameraClippingRange();
+        renderer0->ResetCamera();
+
+        istyle->SetDefaultRenderer(renderer0);
+      }
+
+      actor->PickableOff();
+  }
+  renWin->SetSize(300, 300);
+
+
+  vtkNew<vtkInteractorEventRecorder> recorder;
+  recorder->SetInteractor(iren);
+  recorder->ReadFromInputStringOn();
+  recorder->SetInputString(PropPickerEventLog);
+
+
+  renWin->Render();
+  recorder->Play();
+  // Remove the observers so we can go interactive. Without this the "-I"
+  // testing option fails.
+  recorder->Off();
+
+  iren->Start();
+
+  return EXIT_SUCCESS;
+}
diff --git a/Rendering/OpenGL2/Testing/Data/Baseline/TestPropPicker2Renderers.png.md5 b/Rendering/OpenGL2/Testing/Data/Baseline/TestPropPicker2Renderers.png.md5
new file mode 100644
index 0000000000000000000000000000000000000000..cade2b060292658219bef4fd264f6eba3044ceaf
--- /dev/null
+++ b/Rendering/OpenGL2/Testing/Data/Baseline/TestPropPicker2Renderers.png.md5
@@ -0,0 +1 @@
+751c89159f0b36250144c9bd381214c8
diff --git a/Rendering/OpenGL2/vtkOpenGLRenderer.cxx b/Rendering/OpenGL2/vtkOpenGLRenderer.cxx
index f2772d40e64a5da769d49306d17c794e90ea77cc..e81bf4e427b4f816d4b3235bca515a58c1137d5b 100644
--- a/Rendering/OpenGL2/vtkOpenGLRenderer.cxx
+++ b/Rendering/OpenGL2/vtkOpenGLRenderer.cxx
@@ -603,6 +603,7 @@ void vtkOpenGLRenderer::StartPick(unsigned int vtkNotUsed(pickFromSize))
   this->PickInfo->NumPicked = 0;
   this->PickInfo->PickedId = 0;
 
+  this->UpdateCamera();
   this->Clear();
 
   vtkOpenGLCheckErrorMacro("failed after StartPick");