Index: /trunk/src/VBox/Main/idl/VirtualBox.xidl
===================================================================
--- /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 55607)
+++ /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 55608)
@@ -10612,12 +10612,12 @@
   <interface
     name="IGuestDnDSource" extends="IDnDSource"
-    uuid="280955c0-de67-4297-8179-6274a82a2fc0"
+    uuid="dedfb5d9-4c1b-edf7-fdf3-c1be6827dc28"
     wsmap="managed"
     >
-
     <desc>
       Implementation of the <link to="IDnDSource" /> object
       for source drag'n drop operations on the guest.
     </desc>
+    <attribute name="midlDoesNotLikeEmptyInterfaces" readonly="yes" type="boolean"/>
   </interface>
 
@@ -10785,9 +10785,9 @@
     wsmap="managed"
     >
-
     <desc>
       Implementation of the <link to="IDnDTarget" /> object
       for target drag'n drop operations on the guest.
     </desc>
+    <attribute name="midlDoesNotLikeEmptyInterfaces" readonly="yes" type="boolean"/>
   </interface>
 
@@ -12029,5 +12029,5 @@
   <interface
     name="IGuestDirectory" extends="IDirectory"
-    uuid="af4a8ce0-0725-42b7-8826-46e3c7ba7357"
+    uuid="cc830458-4974-a19c-4dc6-cc98c2269626"
     wsmap="managed"
     >
@@ -12036,4 +12036,5 @@
       for directories in the guest.
     </desc>
+    <attribute name="midlDoesNotLikeEmptyInterfaces" readonly="yes" type="boolean"/>
   </interface>
 
@@ -12244,5 +12245,5 @@
   <interface
     name="IGuestFile" extends="IFile"
-    uuid="60661aec-145f-4d11-b80e-8ea151598093"
+    uuid="b68f642c-49db-d699-db5c-bcb01c08e95f"
     wsmap="managed"
     >
@@ -12251,4 +12252,5 @@
       for files in the guest.
     </desc>
+    <attribute name="midlDoesNotLikeEmptyInterfaces" readonly="yes" type="boolean"/>
   </interface>
 
@@ -12365,5 +12367,5 @@
   <interface
     name="IGuestFsObjInfo" extends="IFsObjInfo"
-    uuid="d5cf678e-3484-4e4a-ac55-329e15462e18"
+    uuid="7cf2d77d-4222-8e33-1065-cab345173300"
     wsmap="managed"
     >
@@ -12372,4 +12374,5 @@
       <link to="IFsObjInfo" /> object.
     </desc>
+    <attribute name="midlDoesNotLikeEmptyInterfaces" readonly="yes" type="boolean"/>
   </interface>
 
@@ -22609,7 +22612,11 @@
 
   <!-- base class for modification events -->
-  <interface name="INATNetworkAlterEvent" extends="INATNetworkChangedEvent"
-             uuid="3f5a0822-163a-43b1-ad16-8d58b0ef6e75"
-             wsmap="managed" autogen="VBoxEvent" id="OnNATNetworkAlter"/>
+  <interface
+    name="INATNetworkAlterEvent" extends="INATNetworkChangedEvent"
+    uuid="d947adf5-4022-dc80-5535-6fb116815604"
+    wsmap="managed" autogen="VBoxEvent" id="OnNATNetworkAlter"
+    >
+    <attribute name="midlDoesNotLikeEmptyInterfaces" readonly="yes" type="boolean"/>
+  </interface>
 
   <interface name="INATNetworkCreationDeletionEvent" extends="INATNetworkAlterEvent"
Index: /trunk/src/VBox/Main/idl/apiwrap-server.xsl
===================================================================
--- /trunk/src/VBox/Main/idl/apiwrap-server.xsl	(revision 55607)
+++ /trunk/src/VBox/Main/idl/apiwrap-server.xsl	(revision 55608)
@@ -509,4 +509,13 @@
         </xsl:call-template>
     </xsl:variable>
+
+    <!-- interface santiy check, prevents crashes -->
+    <xsl:if test="(count(attribute) + count(method)) = 0">
+        <xsl:message terminate="yes">
+            Interface <xsl:value-of select="@name"/> is empty which causes midl generated proxy
+            stubs to crash. Please add a dummy:<xsl:value-of select="$G_sNewLine"/>
+              &lt;attribute name="midlDoesNotLikeEmptyInterfaces" readonly="yes" type="boolean"/&gt;
+        </xsl:message>
+    </xsl:if>
 
     <xsl:choose>
