diff --git a/CMakeExternals/ITK-4.13.3.patch b/CMakeExternals/ITK-4.13.3.patch
index d1d3ece7f7..a21a50b384 100644
--- a/CMakeExternals/ITK-4.13.3.patch
+++ b/CMakeExternals/ITK-4.13.3.patch
@@ -1,40 +1,53 @@
 diff --git a/Modules/Core/Common/include/itkBoundingBox.h b/Modules/Core/Common/include/itkBoundingBox.h
 index 36b03aaa7f..64205acfab 100644
 --- a/Modules/Core/Common/include/itkBoundingBox.h
 +++ b/Modules/Core/Common/include/itkBoundingBox.h
 @@ -87,7 +87,7 @@ public:
    itkTypeMacro(BoundingBox, Object);
  
    /** Method for creation through the object factory. */
 -  itkNewMacro(Self);
 +  itkFactorylessNewMacro(Self);
  
    /** Hold on to the type information specified by the template parameters. */
    typedef TPointIdentifier                       PointIdentifier;
 diff --git a/Modules/Core/Common/include/itkVectorContainer.h b/Modules/Core/Common/include/itkVectorContainer.h
 index 72293c4ce8..e6366c66b5 100644
 --- a/Modules/Core/Common/include/itkVectorContainer.h
 +++ b/Modules/Core/Common/include/itkVectorContainer.h
 @@ -92,7 +92,7 @@ public:
    typedef VectorType                     STLContainerType;
  
    /** Method for creation through the object factory. */
 -  itkNewMacro(Self);
 +  itkFactorylessNewMacro(Self);
  
    /** Standard part of every itk Object. */
    itkTypeMacro(VectorContainer, Object);
 diff --git a/Modules/Core/Transform/include/itkScalableAffineTransform.h b/Modules/Core/Transform/include/itkScalableAffineTransform.h
 index 4e830476a2..b5efeb95a4 100644
 --- a/Modules/Core/Transform/include/itkScalableAffineTransform.h
 +++ b/Modules/Core/Transform/include/itkScalableAffineTransform.h
 @@ -47,7 +47,8 @@ public:
    itkTypeMacro(ScalableAffineTransform, AffineTransform);
  
    /** New macro for creation of through a Smart Pointer   */
 -  itkNewMacro(Self);
 +  itkFactorylessNewMacro(Self);
 +  itkCloneMacro(Self);
  
    /** Dimension of the domain space. */
    itkStaticConstMacro(InputSpaceDimension, unsigned int, NDimensions);
+diff --git a/Modules/ThirdParty/OpenJPEG/src/openjpeg/opj_includes.h b/Modules/ThirdParty/OpenJPEG/src/openjpeg/opj_includes.h
+index e75a220d4d..90d5bf1218 100644
+--- a/Modules/ThirdParty/OpenJPEG/src/openjpeg/opj_includes.h
++++ b/Modules/ThirdParty/OpenJPEG/src/openjpeg/opj_includes.h
+@@ -88,7 +88,7 @@ Most compilers implement their own version of this keyword ...
+ #endif
+ 
+ /* MSVC and Borland C do not have lrintf */
+-#if defined(_MSC_VER) || defined(__BORLANDC__)
++#if (defined(_MSC_VER) && _MSC_VER < 1928) || defined(__BORLANDC__)
+ 
+ /* MSVC 64bits doesn't support _asm */
+ #if !defined(_WIN64)