Descriptor based registration failed on binary image after an update

I was using the descriptor based registration on binary images for a while. It worked perfectly well. Recently after an update (I was on FIJI 1.4X, did not recall which one) to 1.52p/s, the registration failed on binary images, still works on grayscale images.

I think it cold be related to the subpixel localisation. I disabled subpixel localisation for binary images and it is supposed to be that way. But I think it still tried to computed subpixel localisation, as I got the following log from FIJI, then the JAVA console threw me an error report (see beneath this paragraph for the log and report). Is there any way to get the descriptor based registration work on binary images again in the 1.52p/s version? I had built some macro codes using functions from 1.52p/s that do work in earlier version.

FIJI LOG

Warning! Failed to compute subpixel localization SubpixelLocalization: [List<DifferenceOfGaussianPeak<T>> peaks] is empty.

JAVA CONSOLE REPORT

[INFO] Reading available sites from https://imagej.net/
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at ij.VirtualStack.<init>(VirtualStack.java:40)
	at mpicbg.imglib.image.display.imagej.ImageJVirtualStack.<init>(ImageJVirtualStack.java:65)
	at mpicbg.imglib.image.display.imagej.ImageJFunctions.displayAsVirtualStack(ImageJFunctions.java:161)
	at mpicbg.imglib.image.display.imagej.ImageJFunctions.show(ImageJFunctions.java:190)
	at mpicbg.spim.segmentation.InteractiveDoG$ApplyButtonListener.actionPerformed(InteractiveDoG.java:782)
	at java.awt.Button.processActionEvent(Button.java:409)
	at java.awt.Button.processEvent(Button.java:377)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)