diff --git a/utils/HtmlLinks.cc b/utils/HtmlLinks.cc
index 0fd093c..c0ca89a 100644
--- a/utils/HtmlLinks.cc
+++ b/utils/HtmlLinks.cc
@@ -18,6 +18,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2008 Boris Toloknov <tlknv@yandex.ru>
+// Copyright (C) 2010 Albert Astals Cid <aacid@kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -56,7 +57,7 @@
 }
 
 HtmlLink::~HtmlLink(){
- if (dest) delete dest;
+ delete dest;
 }
 
 GBool HtmlLink::isEqualDest(const HtmlLink& x) const{
@@ -69,18 +70,6 @@
   return (y>Ymin)&&(xmin<Xmax)&&(xmax>Xmin);
  }
   
-
-HtmlLink& HtmlLink::operator=(const HtmlLink& x){
-  if (this==&x) return *this;
-  if (dest) {delete dest;dest=NULL;} 
-  Xmin=x.Xmin;
-  Ymin=x.Ymin;
-  Xmax=x.Xmax;
-  Ymax=x.Ymax;
-  dest=new GooString(x.dest);
-  return *this;
-} 
-
 static GooString* EscapeSpecialChars( GooString* s )
 {
     GooString* tmp = NULL;
diff --git a/utils/HtmlLinks.h b/utils/HtmlLinks.h
index 571c2a7..1212844 100644
--- a/utils/HtmlLinks.h
+++ b/utils/HtmlLinks.h
@@ -10,6 +10,20 @@
 //
 //========================================================================
 
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2010 Albert Astals Cid <aacid@kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
 #ifndef _HTML_LINKS
 #define _HTML_LINKS
 
@@ -28,9 +42,7 @@
   GooString* dest;
 
 public:
-  HtmlLink(){dest=NULL;}
   HtmlLink(const HtmlLink& x);
-  HtmlLink& operator=(const HtmlLink& x);
   HtmlLink(double xmin,double ymin,double xmax,double ymax,GooString *_dest);
   ~HtmlLink();
   GBool isEqualDest(const HtmlLink& x) const;
