diff --git a/Code/Wrappers/SWIG/Java.i b/Code/Wrappers/SWIG/Java.i
index d99259b5b7d497f4414dea416f6119f54e098c2e..e9187523552799d88a6a7ec273792cfd126469de 100644
--- a/Code/Wrappers/SWIG/Java.i
+++ b/Code/Wrappers/SWIG/Java.i
@@ -61,7 +61,7 @@
        void UnRegister();
      protected:
   };
-
+/*
   %extend itkClass {
     public:
     itkClass() {
@@ -75,7 +75,7 @@
       self->UnRegister();
     }
   }
-/*
+
   %typemap(out) itkClass##_Pointer {
     itkClass* ptrRaw = $1.GetPointer();
     if (ptrRaw) {
diff --git a/Code/Wrappers/SWIG/itkBase.i b/Code/Wrappers/SWIG/itkBase.i
index 3cc1b1c9c46012c78ec6fc6497968a27d5891b44..ae99d91479e865433ecbecba7c659534e8a4eb22 100644
--- a/Code/Wrappers/SWIG/itkBase.i
+++ b/Code/Wrappers/SWIG/itkBase.i
@@ -68,7 +68,9 @@ class itkIndent {
      virtual void SetReferenceCount(int arg0);
    protected:
      itkLightObject();
-     //~itkLightObject();
+#if SWIGJAVA
+     ~itkLightObject();
+#endif
  };
  DECLARE_REF_COUNT_CLASS( itkLightObject )
  
@@ -100,7 +102,9 @@ class itkIndent {
      void SetMetaDataDictionary(itkMetaDataDictionary const & rhs);
    protected:
      itkObject();
-     //~itkObject();
+#if SWIGJAVA
+     ~itkObject();
+#endif
  };
  DECLARE_REF_COUNT_CLASS( itkObject )
 
@@ -110,7 +114,9 @@ class itkIndent {
      const float& GetProgress();
    protected:
      itkProcessObject();
-     //~itkProcessObject();
+#if SWIGJAVA
+     ~itkProcessObject();
+#endif
  };
  DECLARE_REF_COUNT_CLASS( itkProcessObject )
 
@@ -136,7 +142,9 @@ class itkIndent {
      char const * GetLibraryPath();
    protected:
      itkObjectFactoryBase();
-     //~itkObjectFactoryBase();
+#if SWIGJAVA
+     ~itkObjectFactoryBase();
+#endif
  };
  DECLARE_REF_COUNT_CLASS( itkObjectFactoryBase )
 
@@ -156,7 +164,9 @@ class itkIndent {
      virtual void Execute(itkObject * caller, itkEventObject const & event) = 0;
    protected:
      itkCommand();
-     //~itkCommand();
+#if SWIGJAVA
+     ~itkCommand();
+#endif
  };
  DECLARE_REF_COUNT_CLASS( itkCommand )
 
diff --git a/Code/Wrappers/SWIG/otbApplication.i b/Code/Wrappers/SWIG/otbApplication.i
index f45bd0ded8c2c6a6626d3b66a03a9230e4db0be6..5a68db0ba7d3c48243baceb9ed58fb12ddfbbe25 100644
--- a/Code/Wrappers/SWIG/otbApplication.i
+++ b/Code/Wrappers/SWIG/otbApplication.i
@@ -176,10 +176,10 @@ public:
 
 protected:
   Application();
-  //virtual ~Application();
-
+#if SWIGJAVA
+  virtual ~Application();
+#endif
 private:
-
   Application(const Application &);
   void operator =(const Application&);
 };