Question: proc will not work properly - where's my error

In a previous question I answered I had attempted to turn what I did into a proc.  It works fine by itself but when it's in a proc it won't display both plots.  Not sure if it's because there's too many levels of calling or if it's a bug. 

plotoversurface:=proc(p1,s1)
  local a,b,to3d,c:
  a:=plot3d([s1],x=-10..10,y=0..100,style=patchnogrid):
  b:=plot(p1):
  to3d:=plottools:-transform((x,y)->[x,y,s1]):
  c:=to3d(b):
  plots:-display({a,c})
end proc:

plotoversurface(x^2,sin(x))

It will display the 3d surface but not the transformed x^2 2d plot.  Why doesn't it work properly?

Please Wait...