diff --git a/pd/src/m_obj.c b/pd/src/m_obj.c
index e8632a3d9f372a3914e8a8e10640f28bcea9131b..26294745f0ff6996de6efb0579abddaebcda2c02 100644
--- a/pd/src/m_obj.c
+++ b/pd/src/m_obj.c
@@ -691,10 +691,12 @@ int obj_siginletindex(t_object *x, int m)
 {
     int n = 0;
     t_inlet *i;
-    if (x->ob_pd->c_firstin && x->ob_pd->c_floatsignalin)
+    if (x->ob_pd->c_firstin)
     {
-        if (!m--) return (0);
-        n++;
+        if (!m--)
+            return (0);
+        if (x->ob_pd->c_floatsignalin)
+            n++;
     }
     for (i = x->ob_inlet; i; i = i->i_next, m--)
         if (i->i_symfrom == &s_signal)