diff --git a/loader/ne/segment.c b/loader/ne/segment.c
index 4d53b339bde0e7c012eea4dd4107c97ef2413d9b..f800cac82d50521b6918199b8500855380094ed1 100644
--- a/loader/ne/segment.c
+++ b/loader/ne/segment.c
@@ -452,13 +452,15 @@ void NE_FixupSegmentPrologs(NE_MODULE *pModule, WORD segnum)
     TRACE_(module)("(%d);\n", segnum);
 
     if (pSegTable[segnum-1].flags & NE_SEGFLAGS_DATA)
-{
+    {
 	pSegTable[segnum-1].flags |= NE_SEGFLAGS_LOADED;
 	return;
     }
-    if (!(dgroup = SEL(pSegTable[pModule->dgroup-1].hSeg)))
-	return;
 
+    if (!pModule->dgroup) return;
+
+    if (!(dgroup = SEL(pSegTable[pModule->dgroup-1].hSeg))) return;
+    
     pSeg = PTR_SEG_OFF_TO_LIN(sel, 0);
 
     bundle = (ET_BUNDLE *)((BYTE *)pModule+pModule->entry_table);