diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index e90899895280d01b94e828f26747b698fd1571d0..a0de0f08dcb25ce4dd32aff11b13af1e25ec305e 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -41,7 +41,7 @@
       $tip.find('.title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
       $tip.find('.content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
 
-      $tip[0].className = 'popover'
+      $tip.removeClass('fade top bottom left right in')
     }
 
   , hasContent: function () {
@@ -92,4 +92,4 @@
   , template: '<div class="popover"><div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div></div>'
   })
 
-}( window.jQuery )
\ No newline at end of file
+}( window.jQuery )
diff --git a/js/tests/unit/bootstrap-popover.js b/js/tests/unit/bootstrap-popover.js
index 9180c043e94fddd210407e23d2cd72afebd9ce60..462db8b3e1baf77d180e970d6429f9321c77bffe 100644
--- a/js/tests/unit/bootstrap-popover.js
+++ b/js/tests/unit/bootstrap-popover.js
@@ -70,5 +70,24 @@ $(function () {
         ok(!$('.popover').length, 'popover was removed')
         $('#qunit-fixture').empty()
       })
+    
+      test("should respect custom classes", function() {
+        $.support.transition = false
+        var popover = $('<a href="#">@fat</a>')
+          .appendTo('#qunit-fixture')
+          .popover({
+            title: 'Test'
+          , content: 'Test'
+          , template: '<div class="popover foobar"><div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div></div>'
+          })
+        
+        popover.popover('show')
+        console.log(popover)
+        ok($('.popover').length, 'popover was inserted')
+        ok($('.popover').hasClass('foobar'), 'custom class is present')
 
+        popover.popover('hide')
+        ok(!$('.popover').length, 'popover was removed')
+        $('#qunit-fixture').empty()
+      })
 })
\ No newline at end of file