diff --git a/Base/Devices/imstkVRPNDeviceClient.cpp b/Base/Devices/imstkVRPNDeviceClient.cpp
index 56dcda9ca0ce2fa1176a5a8480d5abd279207327..975fca1fb432fc98b57384503c5ddbe2a96429de 100644
--- a/Base/Devices/imstkVRPNDeviceClient.cpp
+++ b/Base/Devices/imstkVRPNDeviceClient.cpp
@@ -31,8 +31,6 @@ VRPNDeviceClient::initModule()
 {
     auto fullDeviceIp = this->getName().c_str();
 
-    m_offsetSet = false;
-
     m_vrpnTracker = std::make_shared<vrpn_Tracker_Remote>(fullDeviceIp);
     m_vrpnAnalog = std::make_shared<vrpn_Analog_Remote>(fullDeviceIp);
     m_vrpnButton = std::make_shared<vrpn_Button_Remote>(fullDeviceIp);
@@ -100,14 +98,7 @@ VRPNDeviceClient::trackerChangeHandler(void *userData, const _vrpn_TRACKERCB t)
     quat.y() = t.quat[1];
     quat.z() = t.quat[2];
     quat.w() = t.quat[3];
-
-    if(!deviceClient->m_offsetSet)
-    {
-        deviceClient->m_rotOffset = quat.inverse();
-        deviceClient->m_offsetSet = true;
-        return;
-    }
-    deviceClient->m_orientation = deviceClient->m_rotOffset * quat;
+    deviceClient->m_orientation = quat;
 
     //LOG(DEBUG) << "tracker: position = " << t.pos[0] << " " << t.pos[1] << " " << t.pos[2];
     //LOG(DEBUG) << "tracker: orientation = " << deviceClient->m_orientation.matrix();
diff --git a/Base/Devices/imstkVRPNDeviceClient.h b/Base/Devices/imstkVRPNDeviceClient.h
index 8609310e2e5c1d2328ec57b5ca711b7d9599434a..f9dca9e24aa651dcb1b3ef4585cfa656bf6f8242 100644
--- a/Base/Devices/imstkVRPNDeviceClient.h
+++ b/Base/Devices/imstkVRPNDeviceClient.h
@@ -125,9 +125,6 @@ private:
     std::shared_ptr<vrpn_Analog_Remote> m_vrpnAnalog;           //!< VRPN position/orientation interface
     std::shared_ptr<vrpn_Button_Remote> m_vrpnButton;           //!< VRPN button interface
     std::shared_ptr<vrpn_ForceDevice_Remote> m_vrpnForceDevice; //!< VRPN force interface
-
-    bool m_offsetSet = false;
-    Quatd m_rotOffset = Quatd::Identity();
 };
 }
 
diff --git a/Base/Devices/imstkVRPNDeviceServer.h b/Base/Devices/imstkVRPNDeviceServer.h
index a1e07ac11d7ef3f4503343aea232b01d930c1291..d2403ca5611e7280f18e4678057a2f6079441ab1 100644
--- a/Base/Devices/imstkVRPNDeviceServer.h
+++ b/Base/Devices/imstkVRPNDeviceServer.h
@@ -25,6 +25,7 @@
 #include <vector>
 #include <map>
 #include <typeinfo>
+#include <string>
 
 // vrpn
 #include <vrpn_Connection.h>
@@ -32,7 +33,6 @@
 
 // imstk
 #include "imstkModule.h"
-#include "imstkVRPNDeviceClient.h"
 
 namespace imstk
 {
diff --git a/CMake/External/External_VRPN.cmake b/CMake/External/External_VRPN.cmake
index 8cae55005e81fcc1d53b8746a4d4e3b5c9fcd5af..f61089d95ffa77d8647029704368683ffdb90314 100644
--- a/CMake/External/External_VRPN.cmake
+++ b/CMake/External/External_VRPN.cmake
@@ -37,7 +37,6 @@ imstk_add_external_project( VRPN
     -DBUILD_TESTING:BOOL=OFF
     -DVRPN_SUBPROJECT_BUILD:BOOL=ON
     -DVRPN_BUILD_CLIENTS:BOOL=OFF
-    -DVRPN_BUILD_SERVERS:BOOL=OFF
     -DVRPN_BUILD_CLIENT_LIBRARY:BOOL=ON
     -DVRPN_BUILD_SERVER_LIBRARY:BOOL=ON
     -DVRPN_INSTALL:BOOL=OFF
diff --git a/CMake/FindVRPN.cmake b/CMake/FindVRPN.cmake
index 3dcbab62131b44d3d33443ab8ba2846cfc888e6d..474ba74b328aef7bd9ce781b4840bf9bed60c05d 100644
--- a/CMake/FindVRPN.cmake
+++ b/CMake/FindVRPN.cmake
@@ -49,17 +49,51 @@ if(WIN32)
   list(APPEND VRPN_INCLUDE_DIRS ${LIBFTD2XX_INCLUDE_DIR})
 endif()
 
+#-----------------------------------------------------------------------------
+# Phantom Omni support
+#-----------------------------------------------------------------------------
+if(${iMSTK_USE_OMNI})
+
+  find_library(VRPN_PHANTOM_LIBRARY
+    NAMES
+      vrpn_phantom
+      vrpn_phantomd
+    )
+  mark_as_advanced(VRPN_PHANTOM_LIBRARY)
+  list(APPEND VRPN_LIBRARIES ${VRPN_PHANTOM_LIBRARY})
+
+  list(APPEND CMAKE_MODULE_PATH ${VRPN_INCLUDE_DIR}/cmake)
+  find_package(OpenHaptics)
+  list(APPEND VRPN_LIBRARIES ${OPENHAPTICS_LIBRARIES})
+  list(APPEND VRPN_INCLUDE_DIRS ${OPENHAPTICS_INCLUDE_DIRS})
+  list(REMOVE_ITEM CMAKE_MODULE_PATH ${VRPN_INCLUDE_DIR}/cmake)
+
+  find_package(OpenGL)
+  list(APPEND VRPN_INCLUDE_DIRS ${OPENGL_INCLUDE_DIR})
+  list(APPEND VRPN_LIBRARIES ${OPENGL_LIBRARY})
+
+endif()
+
 #-----------------------------------------------------------------------------
 # Find library
 #-----------------------------------------------------------------------------
+
 find_library(VRPN_LIBRARY
   NAMES
-    vrpnserver
-    vrpnserverd
+    vrpn
+    vrpnd
   )
 mark_as_advanced(VRPN_LIBRARY)
 list(APPEND VRPN_LIBRARIES ${VRPN_LIBRARY})
 
+find_library(VRPNSERVER_LIBRARY
+  NAMES
+    vrpnserver
+    vrpnserverd
+  )
+mark_as_advanced(VRPNSERVER_LIBRARY)
+list(APPEND VRPN_LIBRARIES ${VRPNSERVER_LIBRARY})
+
 find_library(QUAT_LIBRARY
   NAMES
     quat
@@ -109,26 +143,6 @@ endif()
 list(APPEND VRPN_LIBRARIES ${HIDAPI_LIBRARY})
 mark_as_advanced(HIDAPI_LIBRARY)
 
-#-----------------------------------------------------------------------------
-# Phantom Omni support
-#-----------------------------------------------------------------------------
-if(${${PROJECT_NAME}_USE_OMNI})
-  list(APPEND CMAKE_MODULE_PATH ${VRPN_INCLUDE_DIR}/cmake)
-  find_package(OpenHaptics)
-  list(REMOVE_ITEM CMAKE_MODULE_PATH ${VRPN_INCLUDE_DIR}/cmake)
-  find_library(VRPN_PHANTOM_LIBRARY
-    NAMES
-      vrpn_phantom
-      vrpn_phantomd
-    )
-  mark_as_advanced(VRPN_PHANTOM_LIBRARY)
-  list(APPEND VRPN_LIBRARIES ${VRPN_PHANTOM_LIBRARY} ${OPENHAPTICS_LIBRARIES})
-  list(APPEND VRPN_INCLUDE_DIRS ${OPENHAPTICS_INCLUDE_DIRS})
-endif()
-
-message(STATUS "OPENHAPTICS_LIBRARIES : ${OPENHAPTICS_LIBRARIES}")
-message(STATUS "OPENHAPTICS_INCLUDE_DIRS : ${OPENHAPTICS_INCLUDE_DIRS}")
-
 #-----------------------------------------------------------------------------
 # Find package
 #-----------------------------------------------------------------------------
diff --git a/iMSTKConfig.cmake.in b/iMSTKConfig.cmake.in
index 334eb3225e064778bf7e4d8851568e02b7428293..672f190cf6a9b07a519264154b96fc8af363ee56 100644
--- a/iMSTKConfig.cmake.in
+++ b/iMSTKConfig.cmake.in
@@ -36,7 +36,7 @@ include( ${VTK_USE_FILE} )
 find_package( VRPN REQUIRED )
 include_directories( ${VRPN_INCLUDE_DIRS} )
 add_definitions( -DVRPN_USE_LIBNIFALCON )
-if(${PROJECT_NAME}_USE_OMNI)
+if(iMSTK_USE_OMNI)
   add_definitions( -DiMSTK_USE_OPENHAPTICS )
   add_definitions( -DVRPN_USE_PHANTOM_SERVER )
 else()