fix #893.  moved back down to api 28 and put workaround back in.