diff --git a/IPython/frontend/html/notebook/static/js/codecell.js b/IPython/frontend/html/notebook/static/js/codecell.js
index 8ca5eb6e321..971a1c9c728 100644
--- a/IPython/frontend/html/notebook/static/js/codecell.js
+++ b/IPython/frontend/html/notebook/static/js/codecell.js
@@ -162,9 +162,16 @@ var IPython = (function (IPython) {
}
CodeCell.prototype.finish_tooltip = function (reply) {
- defstring=reply.definition;
- docstring=reply.docstring;
- if(docstring == null){docstring=""};
+ // Extract call tip data; the priority is call, init, main.
+ defstring = reply.call_def;
+ if (defstring == null) { defstring = reply.init_definition; }
+ if (defstring == null) { defstring = reply.definition; }
+
+ docstring = reply.call_docstring;
+ if (docstring == null) { docstring = reply.init_docstring; }
+ if (docstring == null) { docstring = reply.docstring; }
+ if (docstring == null) { docstring = ""; }
+
name=reply.name;
var that = this;