diff --git a/index.js b/index.js
index <HASH>..<HASH> 100644
--- a/index.js
+++ b/index.js
@@ -131,10 +131,12 @@ Renderer.prototype.link = function(href, title, text) {
     }
   }
 
+  var hasText = text && text !== href;
+
   var out = '';
-  if (text) out += text + ' (';
+  if (hasText) out += text + ' (';
   out +=  this.o.href(href);
-  if (text) out += ')';
+  if (hasText) out += ')';
 
   return this.o.link(out);
 };
diff --git a/tests.js b/tests.js
index <HASH>..<HASH> 100644
--- a/tests.js
+++ b/tests.js
@@ -27,6 +27,17 @@ describe('Renderer', function () {
     renderer: r
   });
 
+  it('should render links', function () {
+    var text = '[Google](http://google.com)';
+    var expected = 'Google (http://google.com)';
+    assert.equal(marked(text).trim(), expected);
+  });
+
+  it('should not show link href twice if link and url is equal', function () {
+    var text = 'http://google.com';
+    assert.equal(marked(text).trim(), text);
+  });
+
   it('should render html as html', function () {
     var html = '<strong>foo</strong>';
     assert.equal(marked(html).trim(), html);
Fixes links to not be duplicated when no text is used. Closes #3