diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm
index 121af396887..6169aa18ca4 100644
--- a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm
+++ b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm
@@ -90,13 +90,10 @@
/obj/item/device/dogborg/sleeper/attack_self(mob/user)
if(..())
return
- if(UI_open == 1) //At least some sort of way to stop the UI needlessly popping up on updates.
- UI_open = 0
- return
sleeperUI(user)
+ UI_open = 1
/obj/item/device/dogborg/sleeper/proc/sleeperUI(mob/user)
- UI_open = 1
var/dat
dat += "
Injector
"
@@ -184,6 +181,8 @@
//popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) //I have no idea what this is, but it feels irrelevant and causes runtimes idk.
popup.set_content(dat)
popup.open()
+ onclose(user, "sleeper")
+ UI_open = 0
return
/obj/item/device/dogborg/sleeper/Topic(href, href_list)
diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm
index 4285ef0ff55..77c77122fd8 100644
--- a/code/modules/vore/eating/bellymodes_vr.dm
+++ b/code/modules/vore/eating/bellymodes_vr.dm
@@ -257,6 +257,8 @@
s_owner.cell.charge += (50 * T.w_class)
internal_contents -= T
qdel(T)
+ for(var/mob/living/carbon/human/M in internal_contents)
+ M.updateVRPanel()
for(var/mob/living/carbon/human/M in internal_contents)
if(!M)
@@ -264,7 +266,6 @@
//Pref protection!
if (!M.digestable || M.absorbed)
continue
- M.updateVRPanel()
if(length(slots - checked_slots) < 1)
checked_slots.Cut()
var/validslot = pick(slots - checked_slots)
@@ -301,6 +302,7 @@
if(!(istype(I,/obj/item/organ) || istype(I,/obj/item/weapon/storage/internal) || istype(I,/obj/screen)))
M.remove_from_mob(I,owner)
internal_contents += I
+ M.updateVRPanel()
owner.updateVRPanel()
return